I'v written a JCA (1.5) which will listen for SIP Messages comming in from the network. For this I used the JAIN SIP stack (https://jain-sip.dev.java.net/) and wrapped it in the RA.
The MessageDriven Beans implement my own SIPMessageListenerInterface and receive and process all events as I want to.
I wanted to set the number of MDBs in the pool listening for these events, as can be done with MDBs listening on JMS Topics/Queues.
Therefore I inserted a section like this in my jboss.xml;
for the <message-driven> -part :
<configuration-name>SIP Proxy MDB</configuration-name>
and the following container configuration.
<container-configurations> <container-configuration> <container-name>SIP Proxy MDB</container-name> <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool> <container-pool-conf> <MinimumSize>1</MinimumSize> <MaximumSize>10</MaximumSize> </container-pool-conf> </container-configuration> </container-configurations>
When I deploy the RA and the MDB I get the following output:
18:13:08,884 INFO [EjbModule] Deploying SIP_Proxy 18:13:08,931 WARN [EjbModule] There are no interceptors configured. Check the standardjboss.xml file 18:13:09,166 WARN [JMSContainerInvoker] No message-driven-destination given; using; guessing type 18:13:09,166 WARN [JMSContainerInvoker] Could not determine destination type, defaults to: javax.jms.Topic 18:13:09,182 WARN [JMSContainerInvoker] destination not found: topic/SIP_Proxy reason: javax.naming.NameNotFoundException: SIP_Proxy not bound 18:13:09,182 WARN [JMSContainerInvoker] creating a new temporary destination: topic/SIP_Proxy 18:13:09,213 INFO [SIP_Proxy] Bound to JNDI name: topic/SIP_Proxy 18:13:09,339 INFO [EJBDeployer] Deployed: file:/D:/jboss/4.0.3/server/default/deploy/proxyBean.jar
For some reason, it is assumed it's a MDB listening to a JMS Topic (Which is created) because there's no destination found. However, I believe I don't need that message-driven-destination as it is JMS specific?
Or is this a wrong assumption. So my question is, how can I configure the pool-size for non-JMS MDBs. Or does this require additional support from me programatically (in the JCA-RA or some other part of my code)?