2 Replies Latest reply on Apr 1, 2009 11:00 AM by peterj

    How do I configure a MDB so that multiple instance of it are

    kspreddy

      Hello All,

      I have configured and deployed a jms queue and a MDB that is listening to the queue. I am observing that at any point of time, there is ONLY one receiver/consumer for this queue. The MDB is configured to have a minimum of 10 instances in the pool. ThreadPool is also setup to have at least 100 threads.

      Are there any other parameters I need to configure so that this queue can have multiple concurrent receivers (instances of the same mdb)?

      I am using Jboss 4.0.5GA and jbossmq.

      Here is the configuration:
      conf/jboss-service.xml
      --------------------------------------------------
      <!-- A Thread pool service -->

      JBoss System Threads
      System Threads
      <!-- How long a thread will live without any tasks in MS -->
      60000
      <!-- The max number of threads in the pool -->
      100
      <!-- The max number of tasks before the queue is full -->
      1000
      <!-- The behavior of the pool when a task is added and the queue is full.
      abort - a RuntimeException is thrown
      run - the calling thread executes the task
      wait - the calling thread blocks until the queue has room
      discard - the task is silently discarded without being run
      discardOldest - check to see if a task is about to complete and enque
      the new task if possible, else run the task in the calling thread
      -->
      run



      conf/standardjboss.xml
      -----------------------------
      <container-configuration>

      <container-name>Standard Message Driven Bean</container-name>

      <call-logging>false</call-logging>

      <invoker-proxy-binding-name>message-driven-bean</invoker-proxy-binding-name>

      <container-interceptors>

      org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor

      org.jboss.ejb.plugins.LogInterceptor

      org.jboss.ejb.plugins.RunAsSecurityInterceptor

      <!-- CMT -->

      org.jboss.ejb.plugins.TxInterceptorCMT

      org.jboss.ejb.plugins.CallValidationInterceptor

      org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor

      <!-- BMT -->

      org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor

      org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT

      org.jboss.ejb.plugins.CallValidationInterceptor

      org.jboss.resource.connectionmanager.CachedConnectionInterceptor

      </container-interceptors>

      <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>

      <instance-cache></instance-cache>

      <persistence-manager></persistence-manager>

      <container-invoker-conf>

      DefaultJMSProvider

      StdJMSPool

      10

      10

      10

      True

      </container-invoker-conf>

      <container-pool-conf>

      100

      </container-pool-conf>

      </container-configuration>



      MDB is configured to use "Standard Message Driven Bean" container...

      Any help on this topic is greatly appreciated.

      Thanks,
      Kolagatla Reddy
      kspreddy7@yahoo.com