I have a project where I'm trying to deploy EJB 2 message driven beans (MDBs) in TomEE 1.7. I need these MDBs to connect and read messages from two Websphere MQs. However I couldn't find enough documentation on the Internet. From whatever I could parse together from Websphere MQ configuration in JBoss I've created the following
<Resource id="wmqRA" type="com.ibm.mq.connector.ResourceAdapterImpl" class-name="com.ibm.mq.connector.ResourceAdapterImpl">
connectionConcurrency=5
maxConnections=10
logWriterEnabled=true
reconnectionRetryCount=5
reconnectionRetryInterval=300000
traceEnabled=false
traceLevel=3
<Resource id="jms/ABC" type="javax.jms.ConnectionFactory" class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl">
TransactionSupport=none
ResourceAdapter=wmqRA
HostName=10.190.129.132
Port=1414
QueueManager=<QueueManagerName>
Channel=<ChannelName>
TransportType=Client
UserName=mqm
Password=abc
</Resource>
<Container id="wmq" type="MESSAGE">
ResourceAdapter=wmqRA
MessageListenerInterface=javax.jms.MessageListener
ActivationSpecClass=com.ibm.mq.connector.inbound.ActivationSpecImpl
</Container>
<Resource id="wmq-javax.jms.QueueConnectionFactory" type="javax.jms.QueueConnectionFactory" class-name="com.ibm.mq.connector.outbound.ManagedQueueConnectionFactoryImpl">
TransactionSupport=xa
ResourceAdapter=wmqRA
<Resource id="wmq-javax.jms.TopicConnectionFactory" type="javax.jms.TopicConnectionFactory" class-name="com.ibm.mq.connector.outbound.ManagedTopicConnectionFactoryImpl">
TransactionSupport=xa
ResourceAdapter=wmqRA
</Resource>
<Resource id="queue_id" type="javax.jms.Queue" class-name="com.ibm.mq.connector.outbound.MQQueueProxy">
arbitraryProperties
baseQueueManagerName=<QueueManagerName>
baseQueueName=<QueueName>
CCSID=1208
encoding=NATIVE
expiry=APP
failIfQuiesce=true
persistence=APP
priority=APP
readAheadClosePolicy=ALL
targetClient=JMS
</Resource>`
The connections get established to the queue manager (Verified by using runmqsc) but the EJBs don't get triggered/created when messages are added to the queues.
Any direction would be much appreciated
Got a solution after many trial and errors. It looks like we need to specify in ejb-jar.xml for EJB2 to work with Tomee.
Use this