Hi
What version of WebsphereMQ and TomEE are you using? From your output, it
looks like a <Resource> for the Resource Adapter itself is needed:
<Resource id="wmqRA"
class-name="com.ibm.mq.connector.ResourceAdapterImpl">
connectionConcurrency=1
maxConnections=32
logWriterEnabled=true
reconnectionRetryCount=5
reconnectionRetryInterval=300000
startupRetryCount=0
startupRetryInterval=30000
traceEnabled=true
traceLevel=6
threadPoolSize=33
</Resource>
(you'll likely want to change those parameters). Without that, it'll try
starting an embedded ActiveMQ resource adapter, so we should be able to get
you going.
Jon
Can you try adding that and let me know how you get on? I've had success
with Websphere MQ and TomEE in the past
On Tue, Dec 4, 2018 at 5:21 PM dmetta <[email protected]> wrote:
> Tomee with Websphere MQ.
>
> Can someone help me resolving below issue.
>
> 1. placed all jars files from rar under tomee/lib.
>
> 2. Added the below to conf/tomee.xml
> <Container id="wmq" type="MESSAGE">
> ResourceAdapter=wmqRA
> MessageListenerInterface=javax.jms.MessageListener
> ActivationSpecClass=com.ibm.mq.connector.inbound.ActivationSpecImpl
> </Container>
> <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>
> <Resource id="qcf" type="javax.jms.ConnectionFactory"
> class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl">
> TransactionSupport=none
> ResourceAdapter=wmqRA
> HostName=10.x.y.z
> Port=1414
> QueueManager=QM_TIERL
> Channel=SYSTEM.ADMIN.SVRCONN
> TransportType=Client
> UserName=xyz
> Password=xyz
> </Resource>
> <Resource id="wmq-javax.jms.QueueConnectionFactory"
> type="javax.jms.QueueConnectionFactory"
> class-name="com.ibm.mq
> .connector.outbound.ManagedQueueConnectionFactoryImpl">
> TransactionSupport=none
> ResourceAdapter=wmqRA
> </Resource>
> <Resource id="wmq-javax.jms.TopicConnectionFactory"
> type="javax.jms.TopicConnectionFactory"
> class-name="com.ibm.mq
> .connector.outbound.ManagedTopicConnectionFactoryImpl">
> TransactionSupport=none
> ResourceAdapter=wmqRA
> </Resource>
> <Resource id="queue" type="javax.jms.Queue"
> class-name="com.ibm.mq.connector.outbound.MQQueueProxy">
> arbitraryProperties
> baseQueueManagerName xyz
> baseQueueName xzy
> CCSID=1208
> encoding=NATIVE
> expiry=APP
> failIfQuiesce=true
> persistence=APP
> priority=APP
> readAheadClosePolicy=ALL
> targetClient=JMS
> </Resource>
> <Resource id="wmq-javax.jms.Topic" type="javax.jms.Topic"
> class-name="com.ibm.mq.connector.outbound.MQTopicProxy">
> arbitraryProperties
> baseTopicName
> brokerCCDurSubQueue=SYSTEM.JMS.D.CC.SUBSCRIBER.QUEUE
> brokerDurSubQueue=SYSTEM.JMS.D.SUBSCRIBER.QUEUE
> brokerPubQueue
> brokerPubQueueManager
> brokerVersion=1
> CCSID=1208
> encoding=NATIVE
> expiry=APP
> failIfQuiesce=true
> persistence=APP
> priority=APP
> readAheadClosePolicy=ALL
> targetClient=JMS
> </Resource>
>
> Deployed War file:
> using
> <resource-ref>
> <res-ref-name>myqcf</res-ref-name>
> <res-type>javax.jms.ConnectionFactory</res-type>
> <res-auth>Container</res-auth>
> <res-sharing-scope>Shareable</res-sharing-scope>
> <mapped-name>qcf</mapped-name>
>
> </resource-ref>
> <resource-env-ref>
> <resource-env-ref-name>myqueue</resource-env-ref-name>
>
> <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
> <mapped-name>queue</mapped-name>
>
> </resource-env-ref>
>
> In Controller:
> @Resource(name = "qcf")
> private ConnectionFactory connectionFactory;
>
> @Resource(name = "queue")
> private Queue queue;
>
> The rest was jms code.
> Connection connection = connectionFactory.createConnection();
> Session session = connection.createSession(false,
> QueueSession.AUTO_ACKNOWLEDGE);
> MessageProducer producer = session.createProducer(queue);
> TextMessage message = session.createTextMessage();
> message.setText("test data");
> connection.start();
> producer.send(message);
> session.close();
> connection.close();
>
> To suppress ActiveMQ from getting triggered add
> openejb.offline=true to conf/system.properties
>
> I am receiving below exception
>
> INFO | JMSClient call start .....
> INFO | Connector vm://localhost started
> Dec 04, 2018 1:58:15 PM org.apache.catalina.core.StandardWrapperValve
> invoke
> SEVERE: Servlet.service() for servlet
> [com.mbfs.slr.vds.services.VinServicePortBindingImpl] in context with path
> [/SLRServices] threw exception [Servlet execution threw an exception] with
> root cause
> java.lang.NoSuchMethodError:
>
> org.apache.activemq.ra.ManagedConnectionProxy.<init>(Lorg/apache/activemq/ra/ActiveMQManagedConnection;Ljavax/resource/spi/ConnectionRequestInfo;)V
> at
>
> org.apache.openejb.resource.activemq.jms2.TomEEManagedConnectionProxy.<init>(TomEEManagedConnectionProxy.java:40)
>
>
>
>
> --
> Sent from:
> http://tomee-openejb.979440.n4.nabble.com/TomEE-Users-f979441.html
>