用jboss乱序消息

时间:2015-06-25 11:44:24

标签: java java-ee jboss ejb message-driven-bean

我们在消息驱动的bean级别遇到了一个问题。也就是说,当多个消息同时到达MDB时,将无序处理。

例如:

邮件的原始顺序:Message 1, Message 2, Message 3

但是在应用程序级别onMessage()方法中,我们收到的邮件顺序不正确。

例如:Message 2, Message 1, Message 3

我们在EJB3使用MDB消息驱动注释,Jboss版本为Jboss EAP 6.4,我们使用HornetQ

  @MessageDriven(activationConfig = { 
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),

        @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/Queue1"),

        @ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),

        @ActivationConfigProperty(propertyName = "reconnectAttempts", propertyValue = "-1"),

        @ActivationConfigProperty(propertyName = "minSessions", propertyValue = "1"),

        @ActivationConfigProperty(propertyName = "maxSessions", propertyValue = "1"),

        @ActivationConfigProperty(propertyName = "maxMessagesPerSessions", propertyValue = "1"),

        @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge")}, name = "MessageDrivenBeanEJB")

但要求是消息到达Jboss应用服务器收到的应用程序原始订单。

如何排除这个?

1 个答案:

答案 0 :(得分:0)

HornetQ的配置属性名称不正确。尝试

@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "1"),

你应该找出你指定的其他哪些对HornetQ是正确的,因为它们看起来像是早期JBoss Messaging化身的参数。