[jboss-user] [JBossCache] - UnsupportedOperationException with WAS 6.0, CMT , Hibernate

lakida do-not-reply at jboss.com
Thu Dec 14 08:16:28 EST 2006


Environment: 
Hibernate 3.1 , Websphere 6.0, Jbosscache 1.3.0SP4, Jbosscache 1.4.0GA 

I have enabled Jboss cache as second level cache for Hibernate. Currently it is in a non-clustered and replicated environment. The application uses EJBs and I have a session bean method which participates in a container managed transaction and invokes the hibernate DAO to fetch data. I get the exception below on invoking the method from a EJB client. 

It appears to me that the configurations are all in place but am thwarted by this excepiton which does not let me progress further. This exception appears in both versions of 1.3.0SP4 and 1.4.0SP1. 

Excerpt from hibernate.cfg.xml are as follows : 

  | <property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property> 
  | <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</property> 
  | <property name="hibernate.current_session_context_class">jta</property> 
  | <property name="hibernate.transaction.flush_before_completion">true</property> 
  | <property name="hibernate.transaction.auto_close_session">true</property> 
  | <property name="hibernate.cache.use_second_level_cache">true</property> 
  | <property name="hibernate.cache.provider_class">org.hibernate.cache.TreeCacheProvider</property> 
  | 
relevant section from treecache.xml 
--- 

  | <attribute name="TransactionManagerLookupClass">org.jboss.cache.GenericTransactionManagerLookup</attribute> 
  |  <attribute name="IsolationLevel">REPEATABLE_READ</attribute> 
  |  <attribute name="CacheMode">LOCAL</attribute> 
  | --- 
  | 
Stack trace : 

  | [12/14/06 16:14:42:247 IST] 0000002d ExceptionUtil E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getValidValuesWithCMT" on bean "BeanId(HibernateCacheProjectEAR#HibernateCacheProject.jar#ValidValueSessionBean, null)". Exception data: java.lang.UnsupportedOperationException 
  | at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.suspend(WebSphereExtendedJTATransactionLookup.java:105) 
  | at org.hibernate.cache.TreeCache.suspend(TreeCache.java:101) 
  | at org.hibernate.cache.TreeCache.put(TreeCache.java:71) 
  | at org.hibernate.cache.TransactionalCache.put(TransactionalCache.java:50) 
  | at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:156) 
  | at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842) 
  | at org.hibernate.loader.Loader.doQuery(Loader.java:717) 
  | at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) 
  | at org.hibernate.loader.Loader.doList(Loader.java:2145) 
  | at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) 
  | at org.hibernate.loader.Loader.list(Loader.java:2024) 
  | at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94) 
  | at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533) 
  | at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) 
  | at com.acs.enterprise.common.program.dataaccess.dao.impl.ValidValueDAOImpl.getValidValueDomainDetail(ValidValueDAOImpl.java:170) 
  | at ejbs.ValidValueSessionBeanBean.getValidValuesWithCMT(ValidValueSessionBeanBean.java:69) 
  | at ejbs.EJSRemoteStatelessValidValueSessionBean_96e1942d.getValidValuesWithCMT(EJSRemoteStatelessValidValueSessionBean_96e1942d.java:79) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) 
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code)) 
  | at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) 
  | at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:727) 
  | at java.security.AccessController.doPrivileged1(Native Method) 
  | at java.security.AccessController.doPrivileged(AccessController.java:351) 
  | at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:725) 
  | at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1121) 
  | at $Proxy2.getValidValuesWithCMT(Unknown Source) 
  | at ejbs._ValidValueSessionBean_Stub.getValidValuesWithCMT(_ValidValueSessionBean_Stub.java:302) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) 
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code)) 
  | at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) 
  | at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:65) 
  | at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:111) 
  | at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:370) 
  | at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) 
  | at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
  | at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212) 
  | at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629) 
  | at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80) 
  | at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657) 
  | at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021) 
  | at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332) 
  | 
  | [12/14/06 16:14:42:325 IST] 0000002d OrderedSynchr E failed calling afterCompletion() on TxInterceptor.LocalSynchronizationHandler(gtx=GlobalTransaction:<null>:1, tx=org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter at 0) 
  | [12/14/06 16:14:42:325 IST] 0000002d OrderedSynchr E TRAS0014I: The following exception was logged java.lang.IllegalStateException: illegal status: 5 
  | at org.jboss.cache.interceptors.TxInterceptor$RemoteSynchronizationHandler.afterCompletion(TxInterceptor.java:1019) 
  | at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.afterCompletion(TxInterceptor.java:1103) 
  | at org.jboss.cache.interceptors.OrderedSynchronizationHandler.afterCompletion(OrderedSynchronizationHandler.java:83) 
  | at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$1.invoke(WebSphereExtendedJTATransactionLookup.java:133) 
  | at $Proxy3.afterCompletion(Unknown Source) 
  | at com.ibm.ws.jtaextensions.SynchronizationCallbackWrapper.afterCompletion(SynchronizationCallbackWrapper.java:74) 
  | at com.ibm.ws.Transaction.JTA.RegisteredSyncs.distributeAfter(RegisteredSyncs.java:358) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.distributeAfter(TransactionImpl.java:3268) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.postCompletion(TransactionImpl.java:3312) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.internalRollback(TransactionImpl.java:2368) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.rollback(TransactionImpl.java:1698) 
  | at com.ibm.ws.Transaction.JTA.TranManagerImpl.rollback(TranManagerImpl.java:274) 
  | at com.ibm.ws.Transaction.JTA.TranManagerSet.rollback(TranManagerSet.java:181) 
  | at com.ibm.ejs.csi.TranStrategy.rollback(TranStrategy.java:911) 
  | at com.ibm.ejs.csi.TranStrategy.handleException(TranStrategy.java:220) 
  | at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:566) 
  | at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3798) 
  | at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3620) 
  | at ejbs.EJSRemoteStatelessValidValueSessionBean_96e1942d.getValidValuesWithCMT(EJSRemoteStatelessValidValueSessionBean_96e1942d.java:98) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) 
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code)) 
  | at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) 
  | at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:727) 
  | at java.security.AccessController.doPrivileged1(Native Method) 
  | at java.security.AccessController.doPrivileged(AccessController.java:351) 
  | at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:725) 
  | at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1121) 
  | at $Proxy2.getValidValuesWithCMT(Unknown Source) 
  | at ejbs._ValidValueSessionBean_Stub.getValidValuesWithCMT(_ValidValueSessionBean_Stub.java:302) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) 
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code)) 
  | at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) 
  | at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:65) 
  | at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:111) 
  | at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:370) 
  | at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) 
  | at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
  | at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212) 
  | at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629) 
  | at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80) 
  | at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657) 
  | at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021) 
  | at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332) 
  | . 
  |                                  java.lang.IllegalStateException: illegal status: 5 
  | at org.jboss.cache.interceptors.TxInterceptor$RemoteSynchronizationHandler.afterCompletion(TxInterceptor.java:1019) 
  | at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.afterCompletion(TxInterceptor.java:1103) 
  | at org.jboss.cache.interceptors.OrderedSynchronizationHandler.afterCompletion(OrderedSynchronizationHandler.java:83) 
  | at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$1.invoke(WebSphereExtendedJTATransactionLookup.java:133) 
  | at $Proxy3.afterCompletion(Unknown Source) 
  | at com.ibm.ws.jtaextensions.SynchronizationCallbackWrapper.afterCompletion(SynchronizationCallbackWrapper.java:74) 
  | at com.ibm.ws.Transaction.JTA.RegisteredSyncs.distributeAfter(RegisteredSyncs.java:358) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.distributeAfter(TransactionImpl.java:3268) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.postCompletion(TransactionImpl.java:3312) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.internalRollback(TransactionImpl.java:2368) 
  | at com.ibm.ws.Transaction.JTA.TransactionImpl.rollback(TransactionImpl.java:1698) 
  | at com.ibm.ws.Transaction.JTA.TranManagerImpl.rollback(TranManagerImpl.java:274) 
  | at com.ibm.ws.Transaction.JTA.TranManagerSet.rollback(TranManagerSet.java:181) 
  | at com.ibm.ejs.csi.TranStrategy.rollback(TranStrategy.java:911) 
  | at com.ibm.ejs.csi.TranStrategy.handleException(TranStrategy.java:220) 
  | at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:566) 
  | at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3798) 
  | at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3620) 
  | at ejbs.EJSRemoteStatelessValidValueSessionBean_96e1942d.getValidValuesWithCMT(EJSRemoteStatelessValidValueSessionBean_96e1942d.java:98) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) 
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code)) 
  | at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) 
  | at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:727) 
  | at java.security.AccessController.doPrivileged1(Native Method) 
  | at java.security.AccessController.doPrivileged(AccessController.java:351) 
  | at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:725) 
  | at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1121) 
  | at $Proxy2.getValidValuesWithCMT(Unknown Source) 
  | at ejbs._ValidValueSessionBean_Stub.getValidValuesWithCMT(_ValidValueSessionBean_Stub.java:302) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) 
  | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) 
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code)) 
  | at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) 
  | at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:65) 
  | at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:111) 
  | at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:370) 
  | at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) 
  | at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
  | at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212) 
  | at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629) 
  | at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80) 
  | at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657) 
  | at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367) 
  | at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934) 
  | at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021) 
  | at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332) 
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993831#3993831

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993831



More information about the jboss-user mailing list