[jboss-jira] [JBoss JIRA] Commented: (JBCACHE-907) UnsupportedOperationException on using Websphere CMT and hibernate and jbosscache

Lakshmi D (JIRA) jira-events at jboss.com
Fri Dec 15 05:11:44 EST 2006


    [ http://jira.jboss.com/jira/browse/JBCACHE-907?page=comments#action_12348807 ] 
            
Lakshmi D commented on JBCACHE-907:
-----------------------------------

Manik, when can we expect any action on this bug ? This is a real show stopper for us in evaluating jbosscache on websphere under CMT. 

> UnsupportedOperationException on using Websphere CMT and hibernate and jbosscache
> ---------------------------------------------------------------------------------
>
>                 Key: JBCACHE-907
>                 URL: http://jira.jboss.com/jira/browse/JBCACHE-907
>             Project: JBoss Cache
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 1.4.0.GA, 1.3.0.SP4
>         Environment: Hibernate 3.1 , Websphere 6.0, Jbosscache 1.3.0SP4, Jbosscache 1.4.0GA
>            Reporter: Lakshmi D
>         Assigned To: Manik Surtani
>         Attachments: enterprise_hibernate.cfg.xml, treecache.xml, Websphere_Stacktrace.txt
>
>
> The environment for the applicatin is stated in te environment section. 
> 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)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list