0 Replies Latest reply on Nov 6, 2012 9:20 AM by devvv123

    Messages pending in subscriber queue.

    devvv123

      Hi,

      I am using jboss-5.1 to deploy message driven bean which is used to subscribe messages from a third party queue.

       

      Around 16 messages were posted to that queue but they remained pending in our subscriber queue. I restarted the server and the messages were readily picked.

       

      As much as I have analysed, I think maxsize and maxsession could have affected it, as both are 15. But I do not understand if there was some real issue, how it got solved by just restarting.

       

      The logs were in error mode. I did not get the full stack trace.

       

      This is the snippet of that error.

       

      [2012-10-30 17:01:00,228] [MQQueueAgent (GQH1_PLANNING_MDM_001)] [ERROR] STDERR: 2012.10.30 17:01:00 MQJMS1023E rollback failed

      [2012-10-30 17:01:00,228] [exceptionDelivery0] [WARN ] org.jboss.resource.adapter.jms.inflow.JmsActivation: Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@85d0d(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@b21aae destination=remotewsmq/NOTIFICATION_PLANNING_MDM_001.SUBQ destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=RemoteWSMQJMSProvider user=null maxMessages=1 minSession=1 maxSession=5 keepAlive=60000 useDLQ=false)

       

      GQH1_PLANNING_MDM_001: The name of the queue used for subscribing.

       

      The files that I use to configure the properties of the MDBs are as follows.

       

      1.ejb3-interceptors-aop.xml

       

         <domain name="Message Driven Bean" extends="Intercepted Bean" inheritBindings="true">

            <bind pointcut="execution(public * *->*(..))">

               <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>

               <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>

            </bind>

            <!-- TODO: Authorization? -->

            <bind pointcut="execution(public * *->*(..))">

               <interceptor-ref name="org.jboss.ejb3.tx.CMTTxInterceptorFactory"/>

               <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>

               <interceptor-ref name="org.jboss.ejb3.tx.BMTTxInterceptorFactory"/>

               <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>

               <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>

               <!-- interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/ -->

               <stack-ref name="EJBInterceptors"/>

            </bind>

            <annotation expr="class(*) AND !class(@org.jboss.ejb3.annotation.Pool)">

               @org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=15, timeout=10000)

            </annotation>

         </domain>

       

       

      2.standardjboss.xml

       

      <invoker-proxy-binding>

            <name>message-driven-bean</name>

            <invoker-mbean>default</invoker-mbean>

            <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>

            <proxy-factory-config>

              <JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI>

              <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>

              <CreateJBossMQDestination>false</CreateJBossMQDestination>

              <!-- WARN: Don't set this to zero until a bug in the pooled executor is fixed -->

              <MinimumSize>1</MinimumSize>

              <MaximumSize>15</MaximumSize>

              <KeepAliveMillis>30000</KeepAliveMillis>

              <MaxMessages>1</MaxMessages>

              <MDBConfig>

                <ReconnectIntervalSec>10</ReconnectIntervalSec>

                <DLQConfig>

                  <DestinationQueue>queue/DLQ</DestinationQueue>

                  <MaxTimesRedelivered>10</MaxTimesRedelivered>

                  <TimeToLive>0</TimeToLive>

                </DLQConfig>

              </MDBConfig>

            </proxy-factory-config>

          </invoker-proxy-binding>

       

       

         <activation-config-property>

                    <activation-config-property-name>maxSession</activation-config-property-name>

                    <activation-config-property-value>15</activation-config-property-value>

                </activation-config-property>

       

       

      Please help.