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

Reply via email to