暂停 MDB 消息处理
我们可以暂停 MDB 消息处理一段时间吗?例如:Jboss 1-部署MDB进行消息处理。 Jboss 2:-用于收集用户详细信息的 Bean。如果 jboss 1 中的 MDB 调用 jboss 2 中的 bean 来获取用户详细信息。如果是这种情况,当我们重新启动 Jboss 2 时,我们需要暂停 jboss 1 中的 MDB,直到 jboss 2 启动。是否有任何选项可以暂停 MDB,以便我们可以避免消息失败?
Can we pause the MDB message processing for some time? For example: Jboss 1-deployed MDB for message processing. Jboss 2:-Bean for gathering user details. If the MDB from jboss 1 calls bean in jboss 2 for getting users details. If this is the case, when we restart the Jboss 2, we need to pause the MDB in jboss 1 till the jboss 2 is UP. Is there any option to pause MDB, so that we can avoid failure of message?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我怀疑您是否可以在不停止整个应用程序的情况下停止 MDB。 Spring JMS 可以做到这一点,但常规消息驱动 bean 则不行。
你可以做的,而且显然是可能的,是 暂停队列。 HornetMQ 确实使您可以将队列切换到“仅接收模式”,尽管我不知道这是否可以通过管理控制台获得。
I doubt you can stop an MDB without stopping the whole application. It is possible with Spring JMS, but not with regular message driven beans.
What you could do, and is apparently possible, is pausing a queue. HornetMQ does give you the possibility to switch the queue to "receive only mode", though I don't know if this is available via the admin console.
在 JBoss(4.x 和 5.x)中,您可以通过 JMX 控制台查找 MDB 并暂停消息传递。
http://yourserver:8080/jmx-console/
,其中 8080 是 HTTP 端口)jboss.j2ee
jar=file-containing-your-MDB.jar,name=NameOfYourMDB,service=EJB3
In JBoss (4.x and 5.x), you can look up the MDB through the JMX Console and pause delivery of messages.
http://yourserver:8080/jmx-console/
where 8080 is the HTTP port)jboss.j2ee
in the left-hand paneIn the right-hand pane, find and click on your MDB. Usually, it will look something like
jar=file-containing-your-MDB.jar,name=NameOfYourMDB,service=EJB3
您可以停止 HornetQ 上的队列。 (我不确定 JBoss Messaging,但我很确定您知道)
在 JMX 控制台上查找消息暂停和恢复
You can stop the Queue on HornetQ. (I'm not sure about JBoss Messaging, but I'm pretty sure you do)
Look for the message pause and resume on the JMX Console