每一个部署的MDB都有一个JMX管理界面。 甲型六氯环己烷的用途因部署不同而异(而且可能也不同联Bo的版本)。 我正在使用JBos4.3,目标格式是:
Domain Name: jboss.j2ee
service: EJB3
name: <MDB Name>
ear: <EAR Name> (if applicable)
jar: <JAR Name>
如果您的职称是JBosss ServiceMBean,请您利用JBosss 通知在时间上填写<<><>>。 这将迫使时间服务在多边开发银行开始之前开始(最好是使时间服务出现某些员额的延迟),但更重要的是,我believe倒转将在不远的地方进行,而时间服务应当首先停止,即多边开发银行。
如果这项工作能够进行,但我不认为你会迫使多边开发银行在行时间时不会感到不快。 你的申请细节可能不支持这一点,但你可能考虑解决这一问题的一种方式是使用, 基本上将时间和信息处理器捆绑在一起(例如,一个多边开发银行,但接收时间较长的事件,而不是电文),使你不必在两个组成部分之间安顿。
================================
Attempt #2
================================
因此,你想要阻止多边开发银行停止工作,而喂养点的深度超过零。 这种做法应当为你工作,尽管对博爱来说是很具体的。
- Implement a JMX NotificationListener that listens on state changes of the MDB Delegate MBean.
- You can also implement a JMX NotificationFilter to narrow down the specific events you want to listen on.
- The state change you re looking for is on the attribute State and the transition you re looking for is 3 --> 1 (Started --> Stopping)
- JMX notifications in [this version of] JBoss are issued synchronously and will block until the notification listener returns. When your listener receives this notification, start a polling loop on the MDB s feeding queue MBean (did not ask if you were using JBoss Messaging but I will assume you are). While the MessageCount is > 0, you keep polling. When the queue s message count is zero, the listener returns and the MDB will stop.
- Make sure to add a brief sleep in your polling loop, as well as a polling timeout (in case things get whacky).
- You might also consider not returning until the message count is 0 for at least n polling loops in case there is some uncommited message in transit which might not show up in the message count.
底线是,虽然你的属性变化听众被叫作,但电文将继续处理。 当“主人”的听众返回时,多边开发银行会停止。
如果您的初测评估系统是本地的低温测距仪表态,则电离层电离层电离层值将可在中转。 对于任何其他安排,您可能需要发出专有的JMS 2008/6号呼吁,以获取电文,或采用更为简明的武力办法,你可以简单地要求使用JMS QueueBrowser,并计算电文数。