MDB concurrency (1 producer + N consumers)
pauloas May 17, 2005 7:59 PMHi 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>