Jboss 暂停MDB消息处理

Jboss 暂停MDB消息处理,jboss,queue,jms,message-driven-bean,hornetq,Jboss,Queue,Jms,Message Driven Bean,Hornetq,我们可以暂停MDB消息处理一段时间吗?例如:Jboss 1—为消息处理部署了MDB。JBoss2:-用于收集用户详细信息的Bean。如果来自JBoss1的MDB调用JBoss2中的bean以获取用户详细信息。如果是这种情况,当我们重新启动JBoss2时,我们需要暂停JBoss1中的MDB,直到JBoss2启动。是否有暂停MDB的选项,以避免消息失败?我怀疑您是否可以在不停止整个应用程序的情况下停止MDB。使用SpringJMS是可能的,但使用常规的消息驱动bean是不可能的 你能做的,而且显然是

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

我怀疑您是否可以在不停止整个应用程序的情况下停止MDB。使用SpringJMS是可能的,但使用常规的消息驱动bean是不可能的


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

我怀疑您是否可以在不停止整个应用程序的情况下停止MDB。使用SpringJMS是可能的,但使用常规的消息驱动bean是不可能的

你能做的,而且显然是可能的,是。HornetMQ确实允许您将队列切换到“仅接收模式”,尽管我不知道这是否可以通过管理控制台使用。

在JBoss(4.x和5.x)中,您可以通过JMX控制台查找MDB并暂停消息传递

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

    jar=包含MDB.jar的文件,name=NameOfYourMDB,service=EJB3

  • 要暂停,请单击“停止交付”旁边的“调用”按钮
  • 要继续,请单击“开始交付”旁边的“调用”按钮
  • 在JBoss(4.x和5.x)中,您可以通过JMX控制台查找MDB并暂停消息传递

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

    jar=包含MDB.jar的文件,name=NameOfYourMDB,service=EJB3

  • 要暂停,请单击“停止交付”旁边的“调用”按钮
  • 要继续,请单击“开始交付”旁边的“调用”按钮

  • 您可以在HornetQ上停止排队。(我不确定JBoss的消息传递,但我很肯定你知道)


    在JMX控制台上查找消息pause and resume

    您可以在HornetQ上停止队列。(我不确定JBoss的消息传递,但我很肯定你知道)


    在JMX控制台上查找消息pause and resume

    Yeah。。你可以暂停排队。是的。。您可以暂停队列。在JBoss4,5中,您可以设置JMX bean-BarrierController/Barrier之间的依赖关系,并使MDB依赖于屏障,因此可以通过启动和停止屏障来完成暂停。我还没有在JBoss7 AS中找到这个功能的直接替代品。我仍在寻找-任何帮助都将不胜感激!在JBoss4,5中,您可以设置JMX bean-BarrierController/Barrier之间的依赖关系,并使MDB依赖于屏障,因此可以通过启动和停止屏障来完成暂停。我还没有在JBoss7 AS中找到这个功能的直接替代品。我仍在寻找-任何帮助都将不胜感激!你找到JBoss 7的一些等价物了吗?@pjklauser JBoss 7在JMX控制台中没有这个吗?我以前从未使用过它。你找到与JBoss 7相当的东西了吗?@pjklauser JBoss 7在JMX控制台中没有这个吗?我以前从未用过。