为什么消息重新传递给MDB

时间:2014-04-14 23:28:50

标签: jms ejb-3.0 message-driven-bean weblogic12c

我们在weblogic 12c上运行了一个MDB,其定义如下

@TransactionManagement(TransactionManagementType.BEAN)
@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })
public class NonPersistentSalesMessageBean implements MessageListener
{
}

此bean的功能是

  1. 收到消息
  2. 将会话bean用于所有业务逻辑(会话bean依次使用实体bean(JPA2.0))
  3. 将回复消息回复到目标队列
  4. bean经常收到重复的消息。如前所述,在插入数据库时​​,实体bean级别存在一些例外,但与回复消息无关。 MDB成功将响应发布回目标队列,但在6或7秒后看到同一消息再次发送。

    当应用成功将响应发送回目标队列时,为什么要重新传递消息?

    有人可以告诉我重新传递邮件的方案是什么?

    我可以使用message.getJMSRedelivered()查看,但是想了解为什么要重新传递?任何帮助或答案将受到高度赞赏。请

    请注意,这是一个在weblogic 10上正常运行的MDB,当我们开始遇到此问题时,我们升级到了12c。所以我们回到了weblogic 10,现在又回到了工作状态。

    ...谢谢Venkat

0 个答案:

没有答案