1 Reply Latest reply on May 19, 2005 10:37 PM by genman

    MDB concurrency (1 producer + N consumers)

    pauloas

      Hi all,

      i am looking at an MDB problem for a couple of days now,
      and could really need some thoughts on the following problem:

      My mdb has a common setup (AUTO_ACK, persistet, transacted receiver MDB) and a client submitting messages to the queue (aprox 12000).

      I was configured my MDB with pooling but the server never start more than 1 instance, and my processing is up to 3 seg.

      I need more concurrency, i.e., more MDB´s instances need to be started.

      this happens on JBoss 4.0.2 with jdk 1.5.0, win2k - Pentium IV - 512 RAM

      please, i need your help!

      thanks.


      ============= JBOSS.XML ===================

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE jboss PUBLIC
      "-//JBoss//DTD JBOSS 3.2//EN"
      "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">



      <enterprise-beans>
      <message-driven>
      <ejb-name>SimpleMessageBean</ejb-name>
      <destination-jndi-name>queue/MyQueue</destination-jndi-name>
      <configuration-name>My Message Driven Config</configuration-name>
      <resource-ref>
      <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
      <jndi-name>ConnectionFactory</jndi-name>
      </resource-ref>
      </message-driven>
      </enterprise-beans>

      <invoker-proxy-bindings>
      <invoker-proxy-binding>
      my-message-driven-bean
      <invoker-mbean>default</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
      <proxy-factory-config>
      JMSProviderAdapterJNDI>DefaultJMSProvider
      ServerSessionPoolFactoryJNDI>StdJMSPool
      MinimumSize>50
      MaximumSize>100
      KeepAliveMillis>30000
      MaxMessages>50

      10

      queue/DLQ
      10
      TimeToLive>0


      </proxy-factory-config>
      </invoker-proxy-binding>
      </invoker-proxy-bindings>

      <container-configurations>
      <container-configuration>
      <container-name>My Message Driven Config</container-name>
      <call-logging>false</call-logging>
      <invoker-proxy-binding-name>my-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-pool-conf>
      MinimumSize>50
      MaximumSize>100
      </container-pool-conf>
      </container-configuration>
      </container-configurations>