在CICS中,我们有一个称为ENQ命令的东西,它对基于所需值的单线程很有用。同样,我们在Websphere中有什么内容吗? 即,我希望我的MDB从输入队列中读取多条消息。但是,我想严格按照收到的顺序处理邮件。将激活规范属性中的“服务器会话”的值设置为1将实现此目的,但我想在我的MDB中以编程方式执行此操作
答案 0 :(得分:1)
以下是JMS 1.1 specification的引用。似乎只有在您从单个会话发送消息时才能保证订购;在这种情况下,将订购会话输入消息流。由于没有用于限制会话计数的API,我想您必须依赖服务器设施进行此配置。
4.4.10消息顺序JMS客户端需要了解它们何时可以依赖于消息顺序以及何时不能。
4.4.10.1会话消息的消息接收消息的顺序 定义一个序列订单。这个顺序很重要,因为它定义了 消息确认的效果。请参见第4.4.11节“消息 致谢,“了解更多详情。每个消息 会话的消费者在会话的输入消息中交错 流。 JMS定义会话发送到目标的消息 必须按发送顺序收到(参见章节 4.4.10.2“消息发送顺序”,少数资格)。这定义了会话输入消息的部分排序约束 流。 JMS没有定义消息接收的顺序 目的地或跨目的地从多个发送的消息 会话。会话的输入消息流顺序的这个方面是 定时相关的。 不受应用程序控制。