1 Reply Latest reply on Nov 3, 2005 8:10 AM by adrian.brock

    scaling of MDB instance pools

    akaladhar

      Hi,

      I am new to JMS part of J2EE. I tried to connect Websphere MQ from MDB in Jboss 4.
      It worked fine. I could read messages from Websphere MQ queue. The problem occured when I increased MDB instance pool to 100. I made these change in jboss.xml

      <invoker-proxy-bindings>
       <invoker-proxy-binding>
       <name>wsmq-message-driven-bean</name>
       <invoker-mbean>default</invoker-mbean>
       <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
       <proxy-factory-config>
      <JMSProviderAdapterJNDI>WSMQJMSProvider</JMSProviderAdapterJNDI>
      <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
       <CreateJBossMQDestination>true</CreateJBossMQDestination>
      
       <MinimumSize>1</MinimumSize>
       <MaximumSize>100</MaximumSize>
       <KeepAliveMillis>10000</KeepAliveMillis>
       <MaxMessages>1</MaxMessages>
       <MDBConfig>
       <ReconnectIntervalSec>1</ReconnectIntervalSec>
       <DLQConfig>
       <DestinationQueue>queue/DLQ</DestinationQueue>
       <MaxTimesRedelivered>10</MaxTimesRedelivered>
       <TimeToLive>0</TimeToLive>
       </DLQConfig>
       </MDBConfig>
       </proxy-factory-config>
       </invoker-proxy-binding>
       </invoker-proxy-bindings

      and in wsmq-ds.xml

      <no-tx-connection-factory>
       <jndi-name>WSMQJms</jndi-name>
       <adapter-display-name>JMS Adapter</adapter-display-name> <!-- JCA 1.0 Comment out for JBoss 3.2.x / Remove it for JBoss 4.x -->
       <!-- <rar-name>jms-ra.rar</rar-name> --> <!-- JCA 1.5 Comment out for JBoss 4.x / Remove it for JBoss 3.2.x -->
       <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
       <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
       <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/WSMQJMSProvider</config-property>
       <max-pool-size>100</max-pool-size>
       <!-- <security-domain-and-application>JmsXARealm</security-domain-and-application> -->
       </no-tx-connection-factory>


      When I built the application and deployed it to the Jboss4, application was deployed with following error

      15:41:26,124 WARN [JMSContainerInvoker] JMS provider failure detected:
      org.jboss.deployment.DeploymentException: Error during queue setup; - nested thr
      owable: (javax.jms.JMSException: MQJMS2005: Fehler beim Erstellen von MQQueueMan
      ager f?r 'dfw1:TESTMQ')
       at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException
      (DeploymentException.java:39)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerStartDelivery(JMSC
      ontainerInvoker.java:906)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContain
      erInvoker.java:932)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
      upport.java:274)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
      eanSupport.java:230)

      It works fine with pool size up to 38.
      Can anybody help me here on how to fix it. Is there any configuration change still required?

      Thanks in advance

      Kaladhar