These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: TransactionRolledbackException
PostPosted: Mon Feb 27, 2006 1:29 pm 
Newbie

Joined: Thu Apr 14, 2005 9:38 am
Posts: 17
Hello,

I'm using hibernate in an application of mine and sometimes it works and other times it does not. Can someone help? I'm using hibernate in a stateless session bean to do the business logic. It only started when I put the logic in the session bean so I'm not sure if that has anything to do with it. And the Stateless session bean is being called by a Message bean.

Thanks for any help.


Here is the exception


2006-02-27 11:49:06,578 DEBUG [org.hibernate.jdbc.AbstractBatcher] preparing statement
2006-02-27 11:49:06,593 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler] Exiting on IOE
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:67)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2200)
at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2380)
at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2447)
at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2519)
at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2668)
at java.io.ObjectInputStream.readByte(ObjectInputStream.java:864)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:290)
at java.lang.Thread.run(Thread.java:595)
2006-02-27 11:49:06,593 DEBUG [org.jboss.mq.il.uil2.SocketManager] End ReadTask.run
2006-02-27 11:49:06,593 DEBUG [org.jboss.mq.il.uil2.UILClientILService] Stopping
2006-02-27 11:49:06,593 ERROR [org.jboss.ejb.plugins.LogInterceptor] TransactionRolledbackException in method: public abstract com.thestar.om.db.Pubsession com.thestar.om.interfaces.PubSessionAction.loadPubSession(long) throws java.rmi.RemoteException, causedBy:
java.lang.NullPointerException
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:439)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:366)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:105)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
at org.hibernate.loader.Loader.doQuery(Loader.java:661)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:223)
at org.hibernate.loader.Loader.doList(Loader.java:2147)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2026)
at org.hibernate.loader.Loader.list(Loader.java:2021)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:369)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:298)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1020)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.thestar.om.ejb.PubSessionActionBean.loadPubSession(PubSessionActionBean.java:149)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:154)
at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:54)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:873)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:155)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:104)
at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:179)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:165)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:97)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
at $Proxy58.loadPubSession(Unknown Source)
at com.thestar.om.ejb.PubSessionArticleIndexerBean.onMessage(PubSessionArticleIndexerBean.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:101)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)
at org.jboss.ejb.Container.invoke(Container.java:873)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1379)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)
at org.jboss.mq.SpySession.run(SpySession.java:333)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:595)


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 27, 2006 2:58 pm 
Regular
Regular

Joined: Wed Feb 08, 2006 3:59 pm
Posts: 75
Is there any chance you are using Oracle and facing this problem :
http://opensource2.atlassian.com/projects/hibernate/browse/HB-771


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 27, 2006 4:32 pm 
Newbie

Joined: Thu Apr 14, 2005 9:38 am
Posts: 17
Hey,

We are using oracle. Actually, We're reverse engineering one of our CMS repositories that can't be upgraded due to support. We're currently on Oracle 8.1.6. I'm not sure if that is what's happening or not, but I wanted to ask, would the new jdbc drivers work with my version of oracle?

I'm currently using the one that comes with our version.

Thank you,


Steve.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 28, 2006 9:42 am 
Newbie

Joined: Thu Apr 14, 2005 9:38 am
Posts: 17
Hey,

I've tried upgrading the jdbc driver and it has not worked for me. I've also removed the code from the Stateless session bean to see if that was interfearing with it.

I'm still getting this problem though. Is there something I need to add to the service file maybe?


Our environment is
oracle 8.1.6
JBOSS 4.0.3SP1

Any thoughts would be appreciated.

Thank you,


Steve.



hibernate Service file


<server>
<mbean code="org.jboss.hibernate.jmx.Hibernate"
name="jboss.omdb:name=OMSessionFactory">
<attribute name="DatasourceName">java:/OMDS</attribute>
<attribute name="Dialect">
org.hibernate.dialect.OracleDialect
</attribute>
<attribute name="SessionFactoryName">
java:/hibernate/OMSessionFactory
</attribute>
<attribute name="CacheProviderClass">
org.hibernate.cache.HashtableCacheProvider
</attribute>
<attribute name="ShowSqlEnabled">true</attribute>
</mbean>
</server>


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 28, 2006 10:22 am 
Newbie

Joined: Thu Apr 14, 2005 9:38 am
Posts: 17
Hey,

I've got another thought about this.

I wasn't using transactions because all I was doing was reading from the database. I've added code to create a user transaction before and commint at the end.

Now I'm getting this error. Maybe I'm doind something wrong?

09:16:48,756 ERROR [StdServerSession] failed to commit/rollback
java.lang.IllegalStateException: Wrong tx association: expected TransactionImpl:XidImpl[FormatId=257, GlobalId=cit-sschwe1-w2k/32, BranchQual=, localId=32] was null
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:315)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)
at org.jboss.mq.SpySession.run(SpySession.java:333)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Thread.java:595)



I'm pretty new to using JTA transactions so I might be doing something wrong. Here is the code I'm using...

InitialContext ctx = new InitialContext();
tx = (UserTransaction) ctx.lookup("UserTransaction");
tx.begin();

...

tx.commit();


Any help would be appreciated.

Thank you,


Steve


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 28, 2006 10:51 am 
Newbie

Joined: Thu Apr 14, 2005 9:38 am
Posts: 17
Sorry.

This is the first exception.

09:49:09,768 ERROR [LogInterceptor] RuntimeException in method: public abstract void javax.jms.MessageListener.onMessage(javax.jms.Message):
java.lang.IllegalStateException: Transaction has terminated TransactionImpl:XidImpl[FormatId=257, GlobalId=cit-sschwe1-w2k/20, BranchQual=, localId=20]
at org.jboss.tm.TransactionImpl.lock(TransactionImpl.java:816)
at org.jboss.tm.TransactionImpl.associateCurrentThread(TransactionImpl.java:776)
at org.jboss.tm.TxManager.associateThread(TxManager.java:481)
at org.jboss.tm.TxManager.resume(TxManager.java:300)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:445)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)
at org.jboss.ejb.Container.invoke(Container.java:873)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1379)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)
at org.jboss.mq.SpySession.run(SpySession.java:333)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Thread.java:595)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 28, 2006 12:53 pm 
Newbie

Joined: Thu Apr 14, 2005 9:38 am
Posts: 17
Hey,

I think I've got the problem figured out? I just have a few questions about why what I did causes these problems.

Basically, I've got a MDB that uses the hibernate objects. In the MDB onCreate, I initialized the hibernate session so it can be used over and over for each onMessage call. This caused the Exception to be thrown every other call.

I moved the creation of the hibernate session to the onMessage method and it started working probably because the session is being invalidated after the onMessage method is being called.

Does anyone know why this happens?

Thank you,


Steve.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.