4 Replies Latest reply on Aug 18, 2009 1:58 PM by rfidler1978

    Stopping / starting queues... can't find invoker

      Running on JBoss 4.2.3 with some EJB2 and some EJB3 MDBs spread amongst various jar/sar files.

      I had found that I could use the invoker which pertained to an MDB queue to stop/start message deliver and tested it using invocation calls through twiddle. This works great for EJB2 deployments. For my EJB3 MDBs, there isn't an invoker for the queue so what's the difference? Does JBossMQ queue deployment work differently between the two versions of EJB?

      Looking at the JMX console, I can see that there are queues for all my MDBs, regardless of the EJB version.

      To get more of an idea what I did get to work with the EJB2 MDBs check out...

      http://www.vijaykandy.com/archives/9

      Any help is greatly appreciated!!

      p.s. If this is off topic, kindly point me in the right direction.

        • 1. Re: Stopping / starting queues... can't find invoker
          bershath27

          I'm confused. Don't get your question clearly. Irrespective of the attached consumers, you can stop any given destination. Are you trying to stop mdbs?

          • 2. Re: Stopping / starting queues... can't find invoker

            I'm trying to stop processing of messages... so let's say that I've sent 20 messages to queue A... it has an business error and has to 'stop' processing of the remaining 19 messages until the business issue is resolved. What I'm trying to do is keep the queue from executing the remaining 19 messages until I say "go".

            I tested this 'concept' with twiddle using JBoss 4.0.4 and EJB2, by calling the stopDelivery/startDelivery methods on the org.jboss.ejb.plugins.jms.JMSContainerInvoker mbean for the queue in context.

            The problem I'm having is I don't have an invoker for any of my MDBs which deployed by the EJB3 deployer... MDBs deployed by EJBDeployer have an invoker mbean associted with them, EJB3 deployed mdbs do not.

            Now one difference is that the EJB 2 MDBs are packaged in a jar file and in the deploy directory. The EJB 3 MDBs are in jar which is packaged in a sar file - could that make a difference?

            Thanks!

            Randall

            • 3. Re: Stopping / starting queues... can't find invoker

              Well it doesn't appear to be the fact that the MDBs are in a jar which is bundled inside a sar... deployment was exactly the same.

              • 4. Re: Stopping / starting queues... can't find invoker

                Well this explains a lot...

                Please note that this procedure applies for JBoss MQ. For JBoss Messaging substitute "jboss.messaging" for "jboss.mq" and "XAConnectionFactory?" for "UIL2XAConnectionFactory"



                Note: These instructions are for EJB 2.1 MDBs and not for EJB3 MDBs. The invoker proxy binding is no longer functional for ejb3.

                TODO: Put in EJB3 instructions

                Taken from:

                http://www.jboss.org/community/wiki/HowDoIConfigureAnMDBToTalkToARemoteQueue