Hi All,
I have an application containing 4 MDB's each of which receives SOAP messages over JMS from MQ. Once the messages have been received we process the XML into an object model and process accordingly which always involves either loading or saving messages to an Oracle database via Hibernate.
Additionally we have a quartz process with fires every minute that may or may not trigger so actions which could also read or write to the database using Hibernate.
When the system in under high load, i.e. processing large numbers 1k + and potentially performing some database read/writes triggered by our quartz process we keep seeing the following exception be thrown in our logs.
=============================================================================== at com.integrasp.iatrade.logic.MessageContextRouting.lookup(MessageContextRouting. java:150) at com.integrasp.iatrade.logic.RequestResponseManager.findRequestDestination(Reque stResponseManager.java:153) at com.integrasp.iatrade.logic.RequestResponseManager.findRequestDestination(Reque stResponseManager.java:174) at com.integrasp.iatrade.logic.IOLogic.processResponse(IOLogic.java:411)< br /> at com.integrasp.iatrade.logic.FxOrderQuoteManager.requestQuote(FxOrderQuoteManage r.java:119) at com.integrasp.iatrade.logic.FxOrderQuoteManager.processRequest(FxOrderQuoteMana ger.java:682) at com.integrasp.iatrade.logic.FxOrderSubmissionManager.processRequest(FxOrderSubm issionManager.java:408) at com.integrasp.iatrade.eo.SubmitOrderRequest.process(SubmitOrderRequest.java:60) at com.integrasp.iatrade.ejb.BusinessLogicRegister.perform(BusinessLogicRegister.j ava:85) at com.integrasp.iatrade.ejb.mdb.OrderSubmissionBean.onMessage(OrderSubmissionBean .java:147) at com.ibm.ejs.jms.listener.MDBWrapper$PriviledgedOnMessage.run(MDBWrapper.java:30 2) at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63 ) at com.ibm.ejs.jms.listener.MDBWrapper.callOnMessage(MDBWrapper.java:271) at com.ibm.ejs.jms.listener.MDBWrapper.onMessage(MDBWrapper.java:240) at com.ibm.mq.jms.MQSession.run(MQSession.java:1593) at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:970) at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSessio n.java:891) at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:656) at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:623) at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:43) at java.lang.reflect.Method.invoke(Method.java:615) at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatch er.java:37) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:96) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:132) at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:481) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionMana gerAdapter$TransactionAdapter.registerSynchronization(WebSphereExtendedJTATransa ctionLookup.java:225) ... 30 more Caused by: com.ibm.websphere.jtaextensions.NotSupportedException at com.ibm.ws.jtaextensions.ExtendedJTATransactionImpl.registerSynchronizationCall backForCurrentTran(ExtendedJTATransactionImpl.java:247)
... 34 more
Could any body help to shed come light on what com.ibm.websphere.jtaextensions.NotSupportedException means. The IBM documentation says
"The exception is thrown by the transaction manager if an attempt is made to register a SynchronizationCallback in an environment or at a time when this function is not available. "
Which to me sounds like the container is rejecting hibernates call to start a transaction. If anybody has any idea on why the container could be throwing the message please let me know.
Thanks in advance
Karl