JBoss SOA-P throws MQJCA1031: The method can only be called in the application client container.
Issue
-
We are using jms-jca-provider transacted WSMQ non-gateway queues. We get the following error.
org.jboss.soa.esb.couriers.CourierServiceBindException: Failed to get JMS Session from pool. at org.jboss.internal.soa.esb.couriers.JmsCourier.getJmsSession(JmsCourier.java:163) at org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageProducer(JmsCourier.java:383) at org.jboss.internal.soa.esb.couriers.JmsCourier.internalDeliver(JmsCourier.java:209) at org.jboss.internal.soa.esb.couriers.JmsCourier.deliver(JmsCourier.java:181) at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.deliver(TwoWayCourierImpl.java:189) at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:576) at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:493) at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:343) at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:233) at org.jboss.internal.soa.esb.persistence.format.db.DBMessageStoreImpl.redeliver(DBMessageStoreImpl.java:394) at org.jboss.soa.esb.actions.MessageRedeliverer.process(MessageRedeliverer.java:74) at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:615) at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:574) at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:408) at org.jboss.soa.esb.listeners.ScheduleListener.onSchedule(ScheduleListener.java:121) at org.jboss.soa.esb.listeners.lifecycle.AbstractScheduledManagedLifecycle$1.onSchedule(AbstractScheduledManagedLifecycle.java:68) at org.jboss.soa.esb.schedule.SchedulerJob$ESBScheduledJob.execute(SchedulerJob.java:289) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) Caused by: com.ibm.msg.client.jms.DetailedIllegalStateException: MQJCA1031: The method can only be called in the application client container. The application was not running in the application client container when this method was called. Ensure that the application runs in the application client container, or modify the application to avoid this method call. at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:149) at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:86) at com.ibm.mq.connector.outbound.ConnectionWrapper.setExceptionListener(ConnectionWrapper.java:183) at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool$JmsSessionPool.initConnection(JmsConnectionPool.java:779) at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool$JmsSessionPool.getSession(JmsConnectionPool.java:718) at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.internalGetSession(JmsConnectionPool.java:252) at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getSession(JmsConnectionPool.java:190) at org.jboss.internal.soa.esb.couriers.JmsCourier.getJmsSession(JmsCourier.java:159) ... 18 more
Environment
- JBoss Enterprise SOA Platform (SOA-P) 4.3.0.GA upto CP02
- Websphere MQ version 7.0.1
- Note: We have not tested or certified this configuration.
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
