我有一个需求,需要以某种方式处理JMS消息(通过MDB),使属于特定组的消息(设置了组ID)由同一Bean实例消耗。我需要的行为是,具有相同组ID的消息按顺序处理(尽管消息排序是无关紧要的),将它们绑定到同一MDB实例应该提供这个功能。
这些消息不携带任何类型的序列号(因为这是无关紧要的),我们不知道组中第一个或最后一个消息是什么(在理论上,可能永远不会有最后一个消息)。我们希望它们能够尽快被传递给消费者。
ActiveMQ提供了这个功能(http://activemq.apache.org/message-groups.html),只需设置JMSXGroupID即可。然而,我们受限于WebSphere MQ。到目前为止,我所找到的是可以在队列中收集同一组的消息,并使用MessageSelector接收“组中最后一个消息”(如http://www.ibm.com/developerworks/websphere/library/techarticles/0602_currie/0602_currie.html所述)。我们希望有更简洁的方式(像ActiveMQ一样)。是否有人知道如何在WebSphere中实现这种行为呢?
谢谢!
这些消息不携带任何类型的序列号(因为这是无关紧要的),我们不知道组中第一个或最后一个消息是什么(在理论上,可能永远不会有最后一个消息)。我们希望它们能够尽快被传递给消费者。
ActiveMQ提供了这个功能(http://activemq.apache.org/message-groups.html),只需设置JMSXGroupID即可。然而,我们受限于WebSphere MQ。到目前为止,我所找到的是可以在队列中收集同一组的消息,并使用MessageSelector接收“组中最后一个消息”(如http://www.ibm.com/developerworks/websphere/library/techarticles/0602_currie/0602_currie.html所述)。我们希望有更简洁的方式(像ActiveMQ一样)。是否有人知道如何在WebSphere中实现这种行为呢?
谢谢!