May want to ask this on the TomEE mailing list. I would think there would be some JMX mbeans that can be used to start/stop a EJB/MDB
On Tue, Oct 8, 2013 at 9:49 AM, Leonardo K. Shikida <shik...@gmail.com>wrote: > Hi > > Is there any way to disable/enable a MDB programmatically? > > Right now, it consumes from a JMS queue and the queue definitions are coded > using @ActivationConfigProperty. if I just set a flag in the database and > let the MDB check it before executing the onMessage() message, I guess I'd > have to re-enqueue the message. Instead, I'd like to just "pause" and > "restart" my MDBs, not touching the queue. > > or example, for tomee/activemq, is there something similar to this code for > jboss? > > MBeanServer mbeanServer = MBeanServerLocator.locateJBoss(); > ObjectName objName = new > > ObjectName("jboss.j2ee:ear=MessageGateway.ear,jar=MessageGateway-EJB.jar,name=MessageSenderMDB,service=EJB3"); > JMSContainerInvokerMBean invoker = (JMSContainerInvokerMBean) > MBeanProxy.get(JMSContainerInvokerMBean.class, objName, mbeanServer); > > invoker.stop(); //Stop MDB > invoker.start(); //Start MDB > > If I'd understood this well, the container consumes from the JMS queue > and then it sends to the MDB method. > > > > So I guess what I am really looking for is some activemq or tomee JMX > instruction (and how to call it from inside a webapp code) telling > tomee to pause/resume it's JMS consumer. > > > > TIA > > Leo > -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta