我知道一种通过命令行疯狂停止MDB的方法,这是将DeliveryActive状态设置为ture,然后
[standalone@localhost:9990 /] cd deployment=jboss-helloworld-mdb.war/subsystem=ejb3/message-driven-bean=HelloWorldMDB
[standalone@localhost:9990 message-driven-bean=HelloWorldMDB] :stop-delivery
{"outcome" => "success"}
[standalone@localhost:9990 message-driven-bean=HelloWorldMDB] :start-delivery
{"outcome" => "success"}
按照这种方式,我认为必须有一种实用的方法来调用EJB容器内的MDB,然后从MDB实例进行停止传递和开始传递。但是我的问题是我无法通过context.lookup(properties)找到MDB。
这是一种可行的方法吗?
最佳答案
您可以通过HornetQ的JMX支持在本地或远程完成此操作。
这是一个很好的示例:JEE7 + WildFly (HornetQ) - Pause queue from application
当然,您也可以从您的应用程序中执行此操作。