configure MDB instances w/ JBOSS 4.2.2
smartass33160 Feb 22, 2008 5:01 AMHello,
I am using JBOSS 4.2.2 and EJB 3.0
I have a single queue and I would like to configure the number of MDB instances which will consume messages from that queue.
I have read quite a few post regarding this issue, but I wasn't able to properly configure the number of MDBS appart from the EJB 3.0 annotation. All the time, I get 15 MDBs instances created!
Here is what I did:
1. modify deploy/ejb3-interceptors-aop.xml
==> in , I tried changing @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=100, timeout=10000)
this does not work
2. modify conf/standardjboss.xml
==> invoker-proxy-binding/message-driven-bean
I changed the MinimumSize and MaximumSize
This does not work either
3. modify jboss.xml in my ear
==> I added my own invoker-proxy-binding and linked my MDB to it. the jboss.xml looks like:
<unauthenticated-principal>nobody</unauthenticated-principal>
<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> DefaultJMSProvider StdJMSPool
1
1
</proxy-factory-config>
</invoker-proxy-binding>
</invoker-proxy-bindings>
<enterprise-beans>
<message-driven>
<ejb-name>JMSAdapter</ejb-name>
<configuration-name>Standard Message Driven Bean</configuration-name>
<destination-jndi-name>queue/bulkCommandsQueueFile</destination-jndi-name>
<invoker-bindings>
<invoker-proxy-binding-name>my-message-driven-bean</invoker-proxy-binding-name>
</invoker-bindings>
</message-driven>
</enterprise-beans>
<resource-managers></resource-managers>
This does not work either: I still have 15 MDBs created!
4. add EJB3.0 annotation in MDB:
@MessageDriven(name="JMSAdapter", activationConfig = {
@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination", propertyValue="queue/bulkCommandsQueueFile"),
@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "100"),
@ActivationConfigProperty(propertyName = "minSession", propertyValue = "100")
})
This works fine, but I would like to control the number of mdbs through JBOSS configuration and not via code.
Could you guys tell me what I did wrong here?