JBoss SOA-P throws MQJCA1031: The method can only be called in the application client container.

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.