Tôi có một yêu cầu rằng tôi cần xử lý các tin nhắn JMS (thông qua MDB) theo cách tin nhắn thuộc về một nhóm nhất định (một nhóm ID được thiết lập) được tiêu thụ bởi cùng một cá thể bean. Hành vi mà tôi yêu cầu ở đây là các thư có cùng ID nhóm được xử lý tuần tự (mặc dù thứ tự tin nhắn không liên quan) và buộc chúng vào cùng một cá thể MDB sẽ cung cấp điều đó.Các nhóm tin nhắn trong WebSphere MQ
Thư không mang theo bất kỳ loại số thứ tự nào (vì nó không liên quan) và chúng tôi không biết thông điệp đầu tiên hoặc cuối cùng trong nhóm là gì (có thể "không bao giờ" là một thông điệp cuối cùng trong nhóm) . Chúng tôi muốn chúng được phân phối ngay sau khi người tiêu dùng có thể nhận được chúng.
ActiveMQ cung cấp tính năng chính xác này (http://activemq.apache.org/message-groups.html) bằng cách chỉ cần đặt JMSXGroupID. Tuy nhiên, chúng tôi bị ràng buộc với WebSphere MQ. Tất cả những gì tôi đã phát hiện ra là có thể thu thập các Tin nhắn của cùng một nhóm trong hàng đợi và sử dụng một MessageSelector để nhận được thông báo "Tin nhắn cuối cùng trong nhóm" như được mô tả trong http://www.ibm.com/developerworks/websphere/library/techarticles/0602_currie/0602_currie.html. Chúng tôi muốn một cách sạch hơn mặc dù (như trong ActiveMQ). Có ai biết làm thế nào để đạt được hành vi đó trong WebSphere?
Cảm ơn!
Cảm ơn, đó là những gì tôi mong đợi. – ftr