暂停MDB消息处理



我们可以暂停MDB消息处理一段时间吗?例如:Jboss 1为消息处理部署了MDB。Jboss 2:-收集用户详细信息的bean。如果jboss 1中的MDB调用jboss 2中的bean来获取用户详细信息。如果是这种情况,当我们重新启动Jboss 2时,我们需要暂停Jboss 1中的MDB,直到Jboss 2 UP。是否有暂停MDB的选项,以便我们可以避免消息失败?

我怀疑您可以在不停止整个应用程序的情况下停止MDB。这对于Spring JMS是可能的,但对于常规的消息驱动bean则不行。

你能做的,显然是可能的,是暂停队列。HornetMQ确实提供了将队列切换到"仅接收模式"的可能性,尽管我不知道这是否可以通过管理控制台使用。

x和5.x),您可以通过JMX控制台查找MDB并暂停消息的传递。

  1. 进入jmx控制台(http://yourserver:8080/jmx-console/,其中8080是HTTP端口)
  2. 单击左侧窗格中的jboss.j2ee
  3. 在右侧窗格中,找到并单击您的MDB。通常,它看起来像

    jar=file-containing-your-MDB.jar,name=NameOfYourMDB,service=EJB3

  4. 要暂停,请点击"停止交付"旁边的"调用"按钮
  5. 点击"startDelivery"旁边的"Invoke"按钮继续

您可以在HornetQ上停止队列。(我不确定JBoss消息,但我很确定你做)

在JMX控制台

中查找消息暂停和恢复

最新更新