• Post Reply Bookmark Topic Watch Topic
  • New Topic

Transaction Rollback Exception  RSS feed

 
Arijit Ghosh
Ranch Hand
Posts: 174
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I'm using Jboss 3.0 with JDO. The problem arises when i try to update an object already in the database. Consider an object CLIENT. The sequence of
steps involved are

1) Displaying the list of clients. (Transaction -1)
2) Loading the details of the selected client. (Transaction -2)
3) Modifying the details of the selected client. (Transaction -3)
The above mentioned steps work the first time.if i try to update the same client twice it shows the following exception

javax.transaction.TransactionRolledbackException: try to access method org.exolab.castor.mapping.loader.ClassDescriptorImpl.(Ljava/lang/Class V from
class org.exolab.castor.mapping.loader.MappingLoader; nested exception is:
java.lang.IllegalAccessError: try to access method org.exolab.castor
mapping.loader.ClassDescriptorImpl.(Ljava/lang/Class V from class orgexolab.castor.mapping.loader.MappingLoader
java.lang.IllegalAccessError: try to access method org.exolab.castor.mapping
loader.ClassDescriptorImpl.(Ljava/lang/Class V from class org.exolab.castor.mapping.loader.MappingLoader
at org.exolab.castor.mapping.loader.MappingLoader.(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Native Method)
at org.exolab.castor.mapping.Mapping.getResolver(Unknown Source)
at org.exolab.castor.jdo.engine.DatabaseRegistry.loadDatabase(Unknown Source)
at org.exolab.castor.jdo.JDO.getDatabase(Unknown Source)
at org.jboss.jdo.castor.CastorJDOImpl.getDatabase(CastorJDOImpl.java:276)
at com.softex.itesoverseer.server.ejb.dao.CastorMain.findCollection(CastorMain.java:136)
at com.softex.itesoverseer.server.ejb.dao.ServerDAO.findAllServers(ServerDAO.java:58)
at com.softex.itesoverseer.server.ejb.session.ClientManagerBean.getAllServers(ClientManagerBean.java:72)
at java.lang.reflect.Method.invoke(Native Method)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:664)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:167)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:129)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainerjava:313)
at org.jboss.ejb.Container.invoke(Container.java:705)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:73)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:76)
at org.jboss.proxy.ejb.StatelessSessionInterceptorinvoke(StatelessSessionInterceptor.java:111)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
at $Proxy25.getAllServers(Unknown Source)
at com.softex.itesoverseer.server.servlet.action.ClientActionexecute(ClientAction.java:69)
at org.apache.struts.action.RequestProcessorprocessActionPerform(RequestProcessor.java:437)
at org.apache.struts.action.RequestProcessor.process(RequestProcessorjava:264)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1109)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:452)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChaininternalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChaindoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValveinvoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValveinvoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContextjava:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValvejava:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipelinejava:566)
at org.apache.catalina.valves.ErrorDispatcherValveinvoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipelinejava:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValvejava:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipelinejava:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValvejava:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipelinejava:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipelinejava:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValvejava:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipelinejava:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipelinejava:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessorjava:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessorjava:1107)
at java.lang.Thread.run(Thread.java:484)
It works the third time and so on.
However if i set the cache type to none in the mapping.xml file then there is no problem.
I'm not using any long transactions and hence no db.update() method and the transactions are container based.
If anyone knows what the problem is please help.
 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!