2.3 Các chức năng cơ bản của IBM Websphere MQ
2.3.5 Các hàng đợi vận chuyển(Transmission queues)
Một hàng đợi vận chuyển về cơ bản là một hàng đợi cục bộ với thuộc tính Usage đƣợc thiết lập là MQUS_TRANSMISSION thay vì MQUS_NORMAL.
Nhìn chung, chỉ một bộ quản lý hàng đợi đặt thông điệp trực tiếp vào hàng đợi vận chuyển và chỉ MCA mới lấy đƣợc thông điệp từ hàng đợi vận chuyển. Một thông điệp trên hàng đợi vận chuyển phải có một tiêu đề đặc biệt gọi là tiêu đề hàng đợi vận chuyển (MQXQH), và nó là bộ quản lý hàng đơi cung cấp tiêu đề khi nó đặt thông điệp lên hàng đợi vận chuyển.
Tiêu đề cũng đi kèm với thông điệp khi nó đƣợc gửi qua kênh thông điệp. MCA nhận sẽ xoá bỏ tiêu đề trƣớc khi đặt thông điệp vào hàng đợi đích. Để truyền
tới hàng đợi đích ở bộ quản lý hàng đợi từ xa, bộ quản lý hàng đợi cục bộ cần phải biết hàng đợi vận chuyển nào để đặt thông điệp vào đó.
Trigger các ứng dụng
WebSphere MQ có thể sắp xếp cho một ứng dụng khởi động khi một thông điệp đƣợc đặt vào một hàng đợi và các điều kiện nhất định đƣợc thoả mãn. Nó đƣợc gọi là triggering.
Các ứng dụng dùng kích hoạt hoặc đƣợc kích hoạt có thể chạy dƣới cùng một bộ quản lý hàng đợi hoặc các bộ quản lý hàng đợi khác nhau.
Hình 2.21: Trigger một ứng dụng[7]
Chƣơng trình A sinh một lệnh MQPUT và đặt một thông điệp vào A-Q cho chƣơng trình B. Bộ quản lý hàng đợi xử lý lời gọi API và đặt thông điệp vào trong hàng đợi ứng dụng. Bộ quản lý hàng đợi cũng xác định hàng đợi nào đƣợc trigger, nó tạo ra thông điệp trigger và tìm kiếm trong định nghĩa tiến trình (Process Definition) để tìm ra tên của ứng dụng và đặt nó trong thông điệp trigger. Thông điệp trigger này đƣợc đặt trong hàng đợi khởi tạo. Bộ theo dõi trigger nhận thông điệp trigger từ hàng đợi khởi tạo và kích hoạt chƣơng trình.
Chƣơng trình bắt đầu chạy và ra lệnh MQGET để nhận thông điệp từ hàng đợi ứng dụng.