JDBC Transaction is no longer active - status: 'Marked rollback'
I'm getting the folowing issue, we are not seeing this issue if we recycle the WLS
Using WLS V10.3.3
Can any one suggest on this issue, how to reslove this
85417.772: [Full GC [PSYoungGen: 117504K->0K(234880K)] [PSOldGen: 662564K->665699K(700416K)] 780068K->665699K(935296K) [PSPermGen: 133284K->132438K(225280K)], 30.2876423 secs] [Times: user=31.23 sys=0.68, real=30.32 secs]
java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 39 seconds
BEA1-600C65F8B23E363DFDF0]'. No further JDBC access is allowed within this transaction.
at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:193)
at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:209)
at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:99)
at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next(Unknown Source)
at com.vzw.pos.cmw.ejb.service.UserProfileService.getNewUserId(Unknown Source)
at com.vzw.pos.cmw.ejb.utils.CMWEjbUtil.createUserProfileVO(Unknown Source)
at com.vzw.pos.cmw.ejb.utils.CMWEjbUtil.createRosterVO(Unknown Source)
at com.vzw.pos.cmw.ejb.service.AdministrationBean.getRostersByUserId(Unknown Source)
at com.vzw.pos.cmw.ejb.service.Administration_ujnwz8_ELOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:39)
at com.vzw.pos.cmw.ejb.service.Administration_ujnwz8_ELOImpl.getRostersByUserId(Unknown Source)
at com.vzw.pos.cmw.action.CMWTopFrameAction.setUserRoleInSession(Unknown Source)
at com.vzw.pos.cmw.action.CMWTopFrameAction.changeLocation(Unknown Source)
at sun.reflect.GeneratedMethodAccessor190.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.vzw.pos.cmw.filters.CMWFilter.doFilter(Unknown Source)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3710)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3676)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2272)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2178)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
<Aug 23, 2013 10:41:53 AM EDT> <Warning> <Socket> <BEA-000450> <Socket 298 internal data record unavailable (probable closure due idle timeout), event received -32>
<Aug 23, 2013 10:41:53 AM EDT> <Warning> <Socket> <BEA-000450> <Socket 286 internal data record unavailable (probable closure due idle timeout), event received -32>
<Aug 23, 2013 10:41:56 AM EDT> <Warning> <Socket> <BEA-000450> <Socket 299 internal data record unavailable (probable closure due idle timeout), event received -32>
<Aug 23, 2013 10:42:51 AM EDT> <Warning> <Socket> <BEA-000450> <Socket 286 internal data record unavailable (probable closure due idle timeout), event received -32>
Here is DS configuration
Initial Capacity: 75
Maximum Capacity: 75
Capacity Increment: 1
Seconds to trust an idle pool connection: 10
Shrink Frequency: 900
Enable Connection Leak Profiling: False
Enable Connection Profiling: False
Test Frequency: 120 seconds
Test Connections on Reserve: True
Connection Reserve Timeout: 10 seconds
Connection Creation Retry Frequency: 1
Inactive Connection Timeout: 60 second
Maximum Waiting for Connection: 2147483647
Statment Cache Type: LRU
Statment Cache Size: 10
Connection Creation Relay Frequency: 1
Remove Infected Connections Enabled: True
Wrap Data types: True
Ignore In-use connections: True
Similar Messages
-
SQLException: Transaction is no longer active (status = Committed).
I am using TopLink 9.0.3 with a set of stateless session beans running in Weblogic 6.1 hitting an Oracle 8.x database. I am using the recommended approach for using the external trancaction controller but I am seeing the following errors when calling a method on a session bean that persists an object:
UnitOfWork(2028166)--JTS#beforeCompletion()
UnitOfWork(2028166)--#executeQuery(DataReadQuery())
UnitOfWork(2028166)--SELECT SEQUENCE_NUMBER.NEXTVAL FROM DUAL
UnitOfWork(2028166)--#reconnecting to external connection pool
UnitOfWork(2028166)--EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
EXCEPTION DESCRIPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
INTERNAL EXCEPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
Strangely enough, this session bean method call works the first time it's called but then fails when I call it the second time. It seems there may be some issue with the transaction listener:
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=oracle.toplink.jts.wls.WebLogicSynchronizationListener@1609cc
EXCEPTION DESCRIPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
INTERNAL EXCEPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
ERROR CODE: 0 - with nested exception:
[EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
EXCEPTION DESCRIPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
INTERNAL EXCEPTION: java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
It seems that TopLink is referencing then old transaction. Has anyone seen this issue? Any ideas?
Thanks,
Darcy Welsh.Hello Darcy,
I'm not exactly sure what is happening and think that a lot more information would be required, so technical support might be your best bet.
My guess would be that your sessionbean method is hitting an exception in user code that is triggering the transaction to be marked for rollback, and thus not allow any SQL execution. Try putting a try/catch/debug statements in your sessionbean method to find out if any exception are occurring.
Otherwise more information such as,
- the complete exception stack trace
- how are you configuring your session, external connection pooling, which transaction controller, etc., does it work with normal connection pooling
- what exactly is the sessionbean doing
- when exactly does the problem occur, are there concurrent process, etc. -
The transaction is no longer active - status: 'Committed'.
Hello -
We are attempting to use a design where a connection will remain in use over multiple
transactions.
Is there any way to get weblogic to allow this?
We are currently experiencing the stack trace below, when a database read is
attempting to use the same connection as the previously committed tx.
Thanks for any advice.
Tyson
org.springframework.jdbc.UncategorizedSQLException: (HibernateAccessor): encountered
SQLException [The transaction is no longer active - status: 'Committed'. No further
JDBC access is allowed within this transaction.]; nested exception is java.sql.SQLException:
The transaction is no longer active - status: 'Committed'. No further JDBC access
is allowed within this transaction. java.sql.SQLException: The transaction is
no longer active - status: 'Committed'. No further JDBC access is allowed within
this transaction. at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:118)
at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:127)
at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:324) at weblogic.jdbc.wrapper.JTSConnection.prepareStatement(JTSConnection.java:426)
at com.benefitpoint.cmp.hibernate.AbstractDataManager$2.doInHibernate(AbstractDataManager.java:501)
at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:150)
at com.benefitpoint.cmp.hibernate.AbstractDataManager.execRawSqlPreparedStatement(AbstractDataManager.java:568)
atTyson Norris wrote:
Hello -
We are attempting to use a design where a connection will remain in use over multiple
transactions.
Is there any way to get weblogic to allow this?No, at least not jts connections. Non-XA connections need our management to
ensure all the work gets committed or rolled back atomically. It doesn't
cost anything to always obtain jts connections in the context of the tx
they are needed.
Besides XA, you could get a plain non-transactional connection and do your
own jdbc commits/rollbacks...
Joe
>
We are currently experiencing the stack trace below, when a database read is
attempting to use the same connection as the previously committed tx.
Thanks for any advice.
Tyson
org.springframework.jdbc.UncategorizedSQLException: (HibernateAccessor): encountered
SQLException [The transaction is no longer active - status: 'Committed'. No further
JDBC access is allowed within this transaction.]; nested exception is java.sql.SQLException:
The transaction is no longer active - status: 'Committed'. No further JDBC access
is allowed within this transaction. java.sql.SQLException: The transaction is
no longer active - status: 'Committed'. No further JDBC access is allowed within
this transaction. at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:118)
at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:127)
at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:324) at weblogic.jdbc.wrapper.JTSConnection.prepareStatement(JTSConnection.java:426)
at com.benefitpoint.cmp.hibernate.AbstractDataManager$2.doInHibernate(AbstractDataManager.java:501)
at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:150)
at com.benefitpoint.cmp.hibernate.AbstractDataManager.execRawSqlPreparedStatement(AbstractDataManager.java:568)
at -
WLS 6.1 The transaction is no longer active...
Hello guys,
I have a litle problem. We have an application deployed on WLS 5.1. It is working perfect for more than an year now. We recently migrated to WLS 6.1, which went pretty painlessly. The only problem I figured out is a transaction timeout on one of our EJBs. It's a stateless one and does access a database. The database response time seems to exceed 30 secs and the container just rolls the transaction back and raises an exception:
The transaction is no longer active (status = Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 31 seconds
Name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()],Xid=46:1c5c7ecedef996e9(6195252),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread: '9' for queue: 'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[npm2000+npm2000_1]=(state=active),properties=({weblogic.transaction.name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()], weblogic.jdbc=t3://10.72.70.17:7201}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+, Resources={})],CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+)]). No further JDBC access is allowed within this transaction.
com.deuba.pricemodel.sessionbean.FXRateManagerEJB_9hbfr9_Impl populate rolled back. Reason: The transaction is no longer active (status = Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 31 seconds
Name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()],Xid=46:1c5c7ecedef996e9(6195252),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread: '9' for queue: 'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[npm2000+npm2000_1]=(state=active),properties=({weblogic.transaction.name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()], weblogic.jdbc=t3://10.72.70.17:7201}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+, Resources={})],CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+)]). No further JDBC access is allowed within this transaction.
java.sql.SQLException: The transaction is no longer active (status = Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 31 secondsName=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()],Xid=46:1c5c7ecedef996e9(6195252),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread: '9' for queue: 'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[npm2000+npm2000_1]=(state=active),properties=({weblogic.transaction.name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()], weblogic.jdbc=t3://10.72.70.17:7201}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+, Resources={})],CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+)]). No further JDBC access is allowed within this transaction.
at weblogic.jdbc.jts.Connection.checkIfRolledBack(Connection.java:508)
at weblogic.jdbc.jts.Statement.getResultSet(Statement.java:408)
at weblogic.jdbc.rmi.internal.StatementImpl.getResultSet(StatementImpl.java:215)
at weblogic.jdbc.rmi.SerialStatement.getResultSet(SerialStatement.java:322)
at com.deuba.pricemodel.pool.FXRatePool.populate(Unknown Source)
at com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate(Unknown Source)
at com.deuba.pricemodel.sessionbean.FXRateManagerEJB_9hbfr9_EOImpl.populate(FXRateManagerEJB_9hbfr9_EOImpl.java:121)
at jsp_servlet._system._qa.__fx_rate._jspService(__fx_rate.java:290)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)One problem could be, that the EJBs are compiled with the WLS 5.1 ejbc and also the deployment descriptors are 5.1 compliant. Does anyone have any clue?
Tx in advance,
Anton Maleev
Software Engineer
Frankfurt
[email protected]Take a look at this link:
http://e-docs.bea.com/wls/docs61////javadocs/weblogic/management/configuration/JTAMBean.html#getTimeoutSeconds()
You'll notice the default transaction timeout in WLS 6.1 is 30 seconds. For container managed you
can set this timeout in the trans-timeout-seconds attribute of the weblogic-ejb-xml.jar file. -
The transaction is no longer active - Transaction timed out after 30 second
We have an intermittent error here, and I'm a rookie. The error results in a 500 being sent to the customer every 10th-20th POST and only occurs under heavy load. The heavy loading is over the for the day, but it'll be back.
My first suspicion was the app code doing transaction work and having database performance problems. But the app is non-transactional and the database is fine. The server farm nodes (4) are all experiencing the problems at equal rates, and the other apps on the farm are fine, so it appears to be app-specific rather than rooted in server state or database state.
I looked at the stack a little more closely and it appears to be some kind of internal persistence issue, but a completely foreign one to me. We have no Persistent Stores configured, so I don't know where to even start on this puppy.
EJB Exception occurred during invocation from home: weblogic.ejb.container.internal.StatelessEJBLocalHomeImpl@d1e1f4 threw exception: <1.0.0 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 30 seconds
BEA1-32AE928C966AC66F424D]'. No further JDBC access is allowed within this transaction.
<1.0.0 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 30 seconds
BEA1-32AE928C966AC66F424D]'. No further JDBC access is allowed within this transaction.
at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3784)
at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97)
at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:83)
at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59)
at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:155)
at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:40)
at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1219)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:987)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:839)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:770)
at kodo.kernel.KodoQuery.execute(KodoQuery.java:47)
at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:229)
at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:269)
at kodo.persistence.KodoQueryImpl.getResultList(KodoQueryImpl.java:213)
at kodo.persistence.KodoQueryImpl.getResultList(KodoQueryImpl.java:213)
at com.company.buapp.buslogic.helpers.ApproveApplicationHelper.createNewTransactionsExcludingApplication(ApproveApplicationHelper.java:167)
at com.company.buapp.buslogic.helpers.ApproveApplicationHelper.createNewTransactions(ApproveApplicationHelper.java:129)
at com.company.buapp.buslogic.helpers.ApproveApplicationHelper.stageAction(ApproveApplicationHelper.java:74)
at com.company.buapp.buslogic.session.ApproveApplicationSessionBean.performAction(ApproveApplicationSessionBean.java:348)
at sun.reflect.GeneratedMethodAccessor2150.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at weblogic.ejb.container.injection.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:68)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
at $Proxy365.performAction(Unknown Source)
at com.company.buapp.buslogic.session.ApproveApplicationSessionBean_gc4fhc_ApproveApplicationSessionLocalImpl.performAction(ApproveApplicationSessionBean_gc4fhc_ApproveApplicationSessionLocalImpl.java:148)
at com.company.buapp.si.ApplicationWS.performAction(ApplicationWS.java:114)
at sun.reflect.GeneratedMethodAccessor2149.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:50)
at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:42)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:247)
at com.sun.xml.ws.server.sei.SEIInvokerPipe.process(SEIInvokerPipe.java:97)
at weblogic.wsee.jaxws.MonitoringPipe.process(MonitoringPipe.java:98)
at com.sun.xml.ws.protocol.soap.ServerMUPipe.process(ServerMUPipe.java:62)
at com.sun.xml.ws.server.WSEndpointImpl$1.process(WSEndpointImpl.java:139)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:153)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:235)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:97)
at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:36)
at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:218)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3395)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 30 seconds
BEA1-32AE928C966AC66F424D]'. No further JDBC access is allowed within this transaction.
at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:178)
at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:188)
at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:57)
at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next(Unknown Source)
at org.apache.openjpa.lib.jdbc.DelegatingResultSet.next(DelegatingResultSet.java:106)
at org.apache.openjpa.jdbc.sql.ResultSetResult.nextInternal(ResultSetResult.java:210)
at org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.nextInternal(SelectImpl.java:2209)
at org.apache.openjpa.jdbc.sql.AbstractResult.next(AbstractResult.java:168)
at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.next(SelectResultObjectProvider.java:99)
at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:35)
at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1219)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:987)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:839)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:770)
at kodo.kernel.KodoQuery.execute(KodoQuery.java:47)
at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:229)
at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:269)
at kodo.persistence.KodoQueryImpl.getResultList(KodoQueryImpl.java:213)
at kodo.persistence.KodoQueryImpl.getResultList(KodoQueryImpl.java:213)
at com.company.buapp.buslogic.helpers.ApproveApplicationHelper.createNewTransactionsExcludingApplication(ApproveApplicationHelper.java:167)
at com.company.buapp.buslogic.helpers.ApproveApplicationHelper.createNewTransactions(ApproveApplicationHelper.java:129)
at com.company.buapp.buslogic.helpers.ApproveApplicationHelper.stageAction(ApproveApplicationHelper.java:74)
at com.company.buapp.buslogic.session.ApproveApplicationSessionBean.performAction(ApproveApplicationSessionBean.java:348)
at sun.reflect.GeneratedMethodAccessor2150.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at weblogic.ejb.container.injection.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:68)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
at $Proxy365.performAction(Unknown Source)
at com.company.buapp.buslogic.session.ApproveApplicationSessionBean_gc4fhc_ApproveApplicationSessionLocalImpl.performAction(ApproveApplicationSessionBean_gc4fhc_ApproveApplicationSessionLocalImpl.java:148)
at com.company.buapp.si.ApplicationWS.performAction(ApplicationWS.java:114)
at sun.reflect.GeneratedMethodAccessor2149.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:50)
at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:42)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:247)
at com.sun.xml.ws.server.sei.SEIInvokerPipe.process(SEIInvokerPipe.java:97)
at weblogic.wsee.jaxws.MonitoringPipe.process(MonitoringPipe.java:98)
at com.sun.xml.ws.protocol.soap.ServerMUPipe.process(ServerMUPipe.java:62)
at com.sun.xml.ws.server.WSEndpointImpl$1.process(WSEndpointImpl.java:139)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:153)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:235)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:97)
at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:36)
at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:218)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3395)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)This was actually my first conclusion as well. But when I went to the Data Source for this connection, I found it's a non-transactional driver. That's what made me go back and give the trace a second look. I don't see any references to the Data Source in question. It's OpenJPA stuff and Session persistence stuff.Non-XA drivers can still participate in an XA transaction via a variety of JDBC data source options - for example, labeled "1PC" and "LLR" on the console. (If you want to understand the particulars search for "JTS" or "LLR" in the JDBC edocs).
You seem to be suggesting maybe the setting can be made in a config doc, possibly of the app itself, right? Right. EJBs have a transaction-timeout attribute.
As opposed to setting it in the console. WebLogic has a domain wide default transaction-timeout setting that can be set on the console, but I tend not to recommend using it. In addition, there's something called a "deployment plan" which can be used to override some of the common EJB attributes via configuration, but I'm not personally familiar with its usage.
But isn't the setting vapor if we're using a nonXA driver?No.
I wonder if this thing couldn't be telling me it's waiting on the persistence subsystem to come available to store simple session data? Sometimes the problem is that there are periodic app requests that are more complex/larger than others. Sometimes the system is simply overloaded, and takes 30 seconds to honor a request that might normally take 10 seconds.
That other app is all about persistence. What if app2 is sucking some persistence subsystem dry and app 1 is waiting just to store session data? Could be.
If the nonXA thing really does kill the quick timeout workaround, how could I health-check the persistence subsystem?Don't know. At a wild guess I'd check for CPU's at 100% on all involved serves, and examine database stats. -
About "the transaction is no longer active" exception
Hi all
My application is deployed on the weblogic 7 SP2 and whenever i am trying to ship the orders which involves the Database interactions i am getting the following error. I increased the transaction time out periods to 5000 seconds in config.xml but still i am getting following exception.
can anybody tell me what is excat cause of the following exception and what things i need to do to resolve the exception
x.x.x.x: MSG: Failed to get Fulfillment Center Sourced Orders java.rmi.RemoteException: EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0ERROR CODE: 30006 TIME: 1178858558476
at x.x.x.x.x.ConfirmOrderBean.getAllNewOrdersForStore(ConfirmOrderBean.java:107)
at jsp_servlet._fulfill.__confirm._jspService(__confirm.java:338)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
Thanx in advance
Reagrds
PandurangHi all
My application is deployed on the weblogic 7 SP2 and whenever i am trying to ship the orders which involves the Database interactions i am getting the following error. I increased the transaction time out periods to 5000 seconds in config.xml but still i am getting following exception.
can anybody tell me what is excat cause of the following exception and what things i need to do to resolve the exception
x.x.x.x: MSG: Failed to get Fulfillment Center Sourced Orders java.rmi.RemoteException: EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0ERROR CODE: 30006 TIME: 1178858558476
at x.x.x.x.x.ConfirmOrderBean.getAllNewOrdersForStore(ConfirmOrderBean.java:107)
at jsp_servlet._fulfill.__confirm._jspService(__confirm.java:338)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
Thanx in advance
Reagrds
Pandurang -
Regarding "the transaction is no longer active" exception
Hi all
My application is deployed on the weblogic 7 SP2 and whenever i am trying to ship the orders which involves the Database interactions i am getting the following error. I increased the transaction time out periods to 5000 seconds in config.xml but still i am getting following exception.
can anybody tell me what is excat cause of the following exception and what things i need to do to resolve the exception
x.x.x.x: MSG: Failed to get Fulfillment Center Sourced Orders java.rmi.RemoteException: EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0ERROR CODE: 30006 TIME: 1178858558476
at x.x.x.x.x.ConfirmOrderBean.getAllNewOrdersForStore(ConfirmOrderBean.java:107)
at jsp_servlet._fulfill.__confirm._jspService(__confirm.java:338)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
Thanx in advance
Reagrds
Pandurangpandurang pokharkar wrote:
Hi all
My application is deployed on the weblogic 7 SP2 and whenever i am trying to ship the orders which involves the Database interactions i am getting the following error. I increased the transaction time out periods to 5000 seconds in config.xml but still i am getting following exception.
can anybody tell me what is excat cause of the following exception and what things i need to do to resolve the exception
x.x.x.x: MSG: Failed to get Fulfillment Center Sourced Orders java.rmi.RemoteException: EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0EJB Exception: ; nested exception is:
x.x.x.x: MSG: java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction.The transaction is no longer active - status: 'Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]'. No further JDBC access is allowed within this transaction. TIME: 0ERROR CODE: 30006 TIME: 1178858558476
at x.x.x.x.x.ConfirmOrderBean.getAllNewOrdersForStore(ConfirmOrderBean.java:107)
at jsp_servlet._fulfill.__confirm._jspService(__confirm.java:338)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
Thanx in advance
Reagrds
PandurangIt is pretty much as it says. While your code is processing this transaction,
in the backround in another thread, the transaction controller has discovered
that this transaction has been running longer than it's configured maximum
time, so the coordinator rolls it back and tells every JDBC object involved
to throw the exception you see the next time any of them are asked to run
another method. Turn on the JTA logging, or instrument your code to show step
by step the progress of your transactions, so you can see what call(s) take
too much time.
Joe -
NAMED_SEQUENCEs: The transaction is no longer active
Hi all,
I am currently trying to get Petstore 1.3.1 going on WLS 7.0.0.1 an got
into quite some trouble (btw, does anyone have experience with this
cofiguration?). After successful deployment in /application I tried the
"populate database" link on ~/petstore/index.jsp and got:
java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
at weblogic.jdbc.jts.Connection.checkIfRolledBack(Connection.java:541)
at weblogic.jdbc.jts.ResultSet.close(ResultSet.java:293)
at weblogic.jdbc.rmi.internal.ResultSetImpl.close(ResultSetImpl.java:144)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:96)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:87)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResultSet(RDBMSPersistenceManager.java:1797)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResources(RDBMSPersistenceManager.java:1679)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.execGenKeyNamedSequenceTableUpdateAndQuery(RDBMSPersistenceManager.java:1489)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyNamedSequenceTable(RDBMSPersistenceManager.java:1307)
at com.sun.j2ee.blueprints.address.ejb.AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.ejbCreate(AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.java:1723)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.DBManager.create(DBManager.java:737)
at weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:716)
at weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:182)
at com.sun.j2ee.blueprints.address.ejb.AddressEJB_fvu9sn_LocalHomeImpl.create(AddressEJB_fvu9sn_LocalHomeImpl.java:155)
at com.sun.j2ee.blueprints.petstore.tools.populate.AddressPopulator.createAddress(AddressPopulator.java:94) at com.sun.j2ee.blueprints.petstore.tools.populate.AddressPopulator.access$7(AddressPopulator.java)
at com.sun.j2ee.blueprints.petstore.tools.populate.AddressPopulator$1.create(AddressPopulator.java:73)
at com.sun.j2ee.blueprints.petstore.tools.populate.XMLDBHandler.endElement(XMLDBHandler.java:145)
at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:595)
at com.sun.j2ee.blueprints.petstore.tools.populate.XMLDBHandler.endElement(XMLDBHandler.java:158)
at weblogic.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1411)
at weblogic.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1613)
at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1219)
at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:396)
at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:1119)
at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:133)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at com.sun.j2ee.blueprints.petstore.tools.populate.PopulateServlet.populate(PopulateServlet.java:162)
at com.sun.j2ee.blueprints.petstore.tools.populate.PopulateServlet.doPost(PopulateServlet.java:118)
at com.sun.j2ee.blueprints.petstore.tools.populate.PopulateServlet.doGet(PopulateServlet.java:106)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.sun.j2ee.blueprints.signon.web.SignOnFilter.doFilter(SignOnFilter.java:151)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.sun.j2ee.blueprints.encodingfilter.web.EncodingFilter.doFilter(EncodingFilter.java:77)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5366)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:721)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3043)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2468)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
and similar traces for ContactInfo, CreditCard, Account, Profile, ...
I nevertheless get to the main screen of the Petstore as if everything
worked well. In fact, it seems like the DB got populated somewhat
correctly; only tbe named sequence tables are unchanged (btw: are the
named sequence tables expected to be auto-created with
create-default-dbms-tables enabled?). The strange thing is that every
correct row (in my case having the even IDs) is followd by an all (except the
odd numbered ID field) "NULL" row. This does not happen in all
...EJBTABLEs --- Address and ContactInfo for example are affected, but Profile
is not.
It seems as if ordering a rattlesnake would work well, even though more
of the same type of Execptions appear in the jdbc log. I suspect that the
trouble will start when the 10 cached ID are exhausted.
I just tried the Petstore 1.3 example provided with WLS 7.0.0.1 on a Linux
machine and WLS 7.0 on an NT machine andfound petty much the same
exception after enabling the jdbc log:
java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
at weblogic.jdbc.jts.Connection.checkIfRolledBack(Connection.java:541)
at weblogic.jdbc.jts.ResultSet.close(ResultSet.java:293)
at weblogic.jdbc.rmi.internal.ResultSetImpl.close(ResultSetImpl.java:144)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:96)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:87)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResultSet(RDBMSPersistenceManager.java:1797)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResources(RDBMSPersistenceManager.java:1679)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.execGenKeyNamedSequenceTableUpdateAndQuery(RDBMSPersistenceManager.java:1489)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyNamedSequenceTable(RDBMSPersistenceManager.java:1307)
at com.sun.j2ee.blueprints.po.address.ejb.AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.ejbCreate(AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.java:1755)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.DBManager.create(DBManager.java:737)
at weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:716)
at weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:182)
at com.sun.j2ee.blueprints.po.address.ejb.AddressEJB_fvu9sn_LocalHomeImpl.create(AddressEJB_fvu9sn_LocalHomeImpl.java:86)
at com.sun.j2ee.blueprints.po.purchaseorder.ejb.PurchaseOrderHelper.persistPoCMRInfo(PurchaseOrderHelper.java:116)
at com.sun.j2ee.blueprints.po.purchaseorder.ejb.PurchaseOrderHelper.persistPO(PurchaseOrderHelper.java:164) at com.sun.j2ee.blueprints.opc.ejb.MsgBean.doWork(MsgBean.java:103)
at com.sun.j2ee.blueprints.opc.ejb.MsgBean.onMessage(MsgBean.java:72)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:348)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:282)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:263)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2309)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2232)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
Is there a problem with my general setup maybe, or is this exception to
be ignored? Is that a known issue with Petstore 1.3/WLS7?
Kai
Tyson Norris wrote:
Hello -
We are attempting to use a design where a connection will remain in use over multiple
transactions.
Is there any way to get weblogic to allow this?No, at least not jts connections. Non-XA connections need our management to
ensure all the work gets committed or rolled back atomically. It doesn't
cost anything to always obtain jts connections in the context of the tx
they are needed.
Besides XA, you could get a plain non-transactional connection and do your
own jdbc commits/rollbacks...
Joe
>
We are currently experiencing the stack trace below, when a database read is
attempting to use the same connection as the previously committed tx.
Thanks for any advice.
Tyson
org.springframework.jdbc.UncategorizedSQLException: (HibernateAccessor): encountered
SQLException [The transaction is no longer active - status: 'Committed'. No further
JDBC access is allowed within this transaction.]; nested exception is java.sql.SQLException:
The transaction is no longer active - status: 'Committed'. No further JDBC access
is allowed within this transaction. java.sql.SQLException: The transaction is
no longer active - status: 'Committed'. No further JDBC access is allowed within
this transaction. at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:118)
at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:127)
at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:324) at weblogic.jdbc.wrapper.JTSConnection.prepareStatement(JTSConnection.java:426)
at com.benefitpoint.cmp.hibernate.AbstractDataManager$2.doInHibernate(AbstractDataManager.java:501)
at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:150)
at com.benefitpoint.cmp.hibernate.AbstractDataManager.execRawSqlPreparedStatement(AbstractDataManager.java:568)
at -
Hi all,
I am currently trying to get Petstore 1.3.1 going on WLS 7.0.0.1 an got
into quite som trouble (btw, does anyone have expereince with this
cofiguration?). After successful deployment in /application I tried the
"populate database" link on ~/petstore/index.jsp and got:
java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
at weblogic.jdbc.jts.Connection.checkIfRolledBack(Connection.java:541)
at weblogic.jdbc.jts.ResultSet.close(ResultSet.java:293)
at weblogic.jdbc.rmi.internal.ResultSetImpl.close(ResultSetImpl.java:144)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:96)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:87)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResultSet(RDBMSPersistenceManager.java:1797)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResources(RDBMSPersistenceManager.java:1679)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.execGenKeyNamedSequenceTableUpdateAndQuery(RDBMSPersistenceManager.java:1489)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyNamedSequenceTable(RDBMSPersistenceManager.java:1307)
at com.sun.j2ee.blueprints.address.ejb.AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.ejbCreate(AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.java:1723)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.DBManager.create(DBManager.java:737)
at weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:716)
at weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:182)
at com.sun.j2ee.blueprints.address.ejb.AddressEJB_fvu9sn_LocalHomeImpl.create(AddressEJB_fvu9sn_LocalHomeImpl.java:155)
at com.sun.j2ee.blueprints.petstore.tools.populate.AddressPopulator.createAddress(AddressPopulator.java:94) at com.sun.j2ee.blueprints.petstore.tools.populate.AddressPopulator.access$7(AddressPopulator.java)
at com.sun.j2ee.blueprints.petstore.tools.populate.AddressPopulator$1.create(AddressPopulator.java:73)
at com.sun.j2ee.blueprints.petstore.tools.populate.XMLDBHandler.endElement(XMLDBHandler.java:145)
at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:595)
at com.sun.j2ee.blueprints.petstore.tools.populate.XMLDBHandler.endElement(XMLDBHandler.java:158)
at weblogic.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1411)
at weblogic.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1613)
at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1219)
at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:396)
at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:1119)
at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:133)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371)
at com.sun.j2ee.blueprints.petstore.tools.populate.PopulateServlet.populate(PopulateServlet.java:162)
at com.sun.j2ee.blueprints.petstore.tools.populate.PopulateServlet.doPost(PopulateServlet.java:118)
at com.sun.j2ee.blueprints.petstore.tools.populate.PopulateServlet.doGet(PopulateServlet.java:106)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.sun.j2ee.blueprints.signon.web.SignOnFilter.doFilter(SignOnFilter.java:151)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.sun.j2ee.blueprints.encodingfilter.web.EncodingFilter.doFilter(EncodingFilter.java:77)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5366)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:721)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3043)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2468)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
and similar traces for ContactInfo, CreditCard, Account, Profile, ...
I nevertheless get to the main screen of the Petstore as if everything
worked well. In fact, it seems like the DB got populated somewhat
correctly; only tbe named sequence tables are unchanged (btw: are the
named sequences expected to be auto-created with
create-default-dbms-tables enabled ?). The strange thing is that every
correct row (in my case having the even IDs) is followd by an all (except the
odd numbered ID field) "NULL" row. This does not happen in all
...EJBTABLEs --- Address and ContactInfo for example are affected, but Profile
is not.
It seems as if ordering a rattlesnake would work well, even though more
of the same type of Execptions appear in the jdbc log. I suspect that the
trouble will start when the 10 cached ID are exhausted.
Any ideas?
KaiI just tried the Petstore 1.3 example provided with WLS 7.0.0.1 and found
petty much the same exception after enabling the jdbc log:
java.sql.SQLException: The transaction is no longer active (status = Committed). No further JDBC access is allowed within this transaction.
at weblogic.jdbc.jts.Connection.checkIfRolledBack(Connection.java:541)
at weblogic.jdbc.jts.ResultSet.close(ResultSet.java:293)
at weblogic.jdbc.rmi.internal.ResultSetImpl.close(ResultSetImpl.java:144)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:96)
at weblogic.jdbc.rmi.SerialResultSet.close(SerialResultSet.java:87)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResultSet(RDBMSPersistenceManager.java:1797)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.releaseResources(RDBMSPersistenceManager.java:1679)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.execGenKeyNamedSequenceTableUpdateAndQuery(RDBMSPersistenceManager.java:1489)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getNextGenKeyNamedSequenceTable(RDBMSPersistenceManager.java:1307)
at com.sun.j2ee.blueprints.po.address.ejb.AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.ejbCreate(AddressEJB_fvu9sn__WebLogic_CMP_RDBMS.java:1755)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.DBManager.create(DBManager.java:737)
at weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:716)
at weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:182)
at com.sun.j2ee.blueprints.po.address.ejb.AddressEJB_fvu9sn_LocalHomeImpl.create(AddressEJB_fvu9sn_LocalHomeImpl.java:86)
at com.sun.j2ee.blueprints.po.purchaseorder.ejb.PurchaseOrderHelper.persistPoCMRInfo(PurchaseOrderHelper.java:116)
at com.sun.j2ee.blueprints.po.purchaseorder.ejb.PurchaseOrderHelper.persistPO(PurchaseOrderHelper.java:164) at com.sun.j2ee.blueprints.opc.ejb.MsgBean.doWork(MsgBean.java:103)
at com.sun.j2ee.blueprints.opc.ejb.MsgBean.onMessage(MsgBean.java:72)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:348)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:282)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:263)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2309)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2232)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
Is there a problem with my general setup maybe, or is this exception to
be ignored?
Kai -
"transaction is no longer active" exception.... why?
I'm trying to get a transaction working with my control, but I keep getting the following SQL exception:
"The transaction is no longer active - status: 'Committed'. No further JDBC access is allowed within this transaction."
I have a main jdbc controller that calls other jdbc controlers. The method in the main controller has the following annotation:
@TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW, rollbackOnCheckedException=true)
Then anootation on the methods in the subcontroler:
@TransactionAttribute(value=TransactionAttributeType.REQUIRED, rollbackOnCheckedException=true)
I try to call the method in the second controller twice from the main controller. The first time I have it inserts a record into the database and the second time it causes an exception (on purpose for testing the rollback). But instead of rolling back the first record gets inserted into the database and the second record causes the "transaction is no longer active" exception.
What am I doing wrong?Thanks Vimala,
I did look at it and I'm using it to simulate the same thing I'm trying to do. Here is what I did:
I changed the insertGroup method in the CustomControlImpl.java file to the following:
@TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW,rollbackOnCheckedException=true)
public void insertGroup(String name, String description) throws SQLException
try{
int result = dataControl.insertGroup("1","1");
result = dataControl.insertGroup("This name is way too long and will cause an exception","2");
}catch(SQLException e){
System.out.println("**************** Throwing sql exception");
throw e;
I would like the excepion caused by the second insert to rollback everything in the try block and as a result nothing will be inserted int the database. Can this be done?
Edited by cerlendson at 09/11/2007 9:45 AM
Edited by cerlendson at 09/11/2007 10:12 AM -
Oracle DBA team received a stack trace from our developers about an error generated by a JAVA appilcation using a WebLogic 8.1 application server and a Oracle 9.2.0.8 (RAC) database server with a Linux 2.4 OS. No database errors were logged into the database alert or listener logs, and no trace files were generated by database server on the same day. Developers are still looking for a cause.
Here is the info provided to us by the developers:
Nested StackTrace:
java.sql.SQLException:The transaction is no longer active - status: 'Unknown'. No further JDBC access is allowed within this transaction.
weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:219)
weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:228)
weblogic.jdbc.wrapper.ResultSet.getMetaData(ResultSet.java:184)
us.tx.state.rrc.common.util.QueryUtils.getSimpleResults(QueryUtils.java:455)
us.tx.state.rrc.common.util.QueryUtils.executeSimplePS(QueryUtils.java:373)
us.tx.state.rrc.pr.events.valueobject.BaseLeaseEvent.loadEventData(BaseLeaseEvent.java:182)
us.tx.state.rrc.pr.events.valueobject.BaseLeaseEvent.loadEvents(BaseLeaseEvent.java:194)
us.tx.state.rrc.pr.events.valueobject.BaseLeaseEvent.getEvents(BaseLeaseEvent.java:161)
us.tx.state.rrc.pr.events.PREventManager.getLeaseComingleEvents(PREventManager.java:104)
us.tx.state.rrc.pr.events.PREventManager.getAllEvents(PREventManager.java:81)
us.tx.state.rrc.pr.events.process.AutoResolveProcess.createTrxs(AutoResolveProcess.java:80)
us.tx.state.rrc.process.ejb.session.ProcessManagerSessionBean.initProcess(ProcessManagerSessionBean.java:427)
Application reportedly ran okay when resubmitted later on the same day without any other changes to the environment except a RMAN hot full backup finished before the second run. Developers have been unable to reproduce application error. Any ideas on where the developers should look for a more definitive definition of application errors?That message is a WLS-resident event. It means that the WLS-managed transaction
for which the thread/JDBC connection was operating, has already finished, whether by
having completed normally or having been rolled back. -
Error transaction no longer active, no further JDBC access allowed
Hello
Our application uses WLS 6.0 SP2, TopLink 3.5.3, WebLogic JMS. A
(pooled) JMS driven message bean invokes other application components
(stateless session beans). Also, application components use JMS to send
messages. JMS and application (through TopLink) use the same JDBC
connection pool. TopLink connects through javax.sql.DataSource and
external transaction controller. 2PC transactions are required to
integrate JMS and TopLink DB access (see data source definition below).
All components run in a single JVM, there is not distributed transaction
between JVMs.
When pushing > 5 concurrent messages into the system I get an error that
somehow indicates TopLink access to a connection that is no longer
associated with a WebLogic transaction.
I can consistently reproduce this error with the Oracle thin, Oracle OCI
and WebLogic OCI JDBC drivers. It seems to occur independent from the
maximum number of connections in the pool (tested between 1 and 30).
Also, when serializing the message supply with a pause in between the
error does not seem to occur.
Has anybody seen this type of problem before?
Are there possibly known issues with the external transaction controller
integration?
Any help greatly appreciated.
Thanks,
Thomas
EXCEPTION [TOPLINK-4002] (3.5.3 JDK1.2):
TOPLink.Public.Exceptions.DatabaseException
EXCEPTION DESCRIPTION: java.sql.SQLException: The transaction is no
longer active (status = Committing). No further JDBC access is allowed
within this transaction.
INTERNAL EXCEPTION: java.sql.SQLException: The transaction is no longer
active (status = Committing). No further JDBC access is allowed within
this transaction.
ERROR CODE: 0
### WebLogic config.xml ###
<JDBCConnectionPool CapacityIncrement="1"
DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1"
MaxCapacity="15" Name="oraclePool"
Properties="user=wlpi20;password=wlpi20;dll=ocijdbc8;protocol=thin"
Targets="appserver"
URL="jdbc:oracle:thin:@10.3.209.35:1521:wcdevdb"/>
<JDBCTxDataSource EnableTwoPhaseCommit="true"
JNDIName="com.bea.wlpi.TXDataSource" Name="TXDataSource"
PoolName="oraclePool" Targets="appserver"/>
<JMSJDBCStore ConnectionPool="oraclePool" Name="oraclePool"/>
### TopLink session/login setup for external transaction controller ###
DatabaseLogin login = project.getLogin();
login.setConnector(new TOPLink.Public.JNDI.JNDIConnector(
initialContext, jdbcDataSource));
login.setUserName(jdbcUser);
login.setPassword(jdbcPasswd);
ServerSession session = new ServerSession(project);
login.useExternalConnectionPooling();
login.useExternalTransactionController();
final String tmname = "weblogic/transaction/TransactionManager";
javax.transaction.TransactionManager transMgr =
(javax.transaction.TransactionManager)
initialContext.lookup(tmname);
JTSSynchronizationListener.setTransactionManager(transMgr);
session.setExternalTransactionController(
new TOPLink.Public.JTS.JTSExternalTransactionController());
logger.fine("registered external transaction controller");Better to ask on a hibernate forum, but you seem to
be trying to reuse a closed transaction. If you have
auto-commit set to ttrue, try changing it to false,
the explicitly calling commit when you are done.Might be worth finding out why something is trying to use a closed transaction first, before changing your entire transaction management idiom, though -
Hi ,
Few hours after my server has stared running, all of a sudden my queues get
stuck. And the queue size increases without bound.
HERE IS THE STATUS OF 1st QUEUE
{weblogic.transaction.internal.JTATransactionImpl: name=null, xid=BEA1-2EC3483119FCF099F40D,
status=Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException:
Transaction timed out after 303 seconds Xid=BEA1-2EC3483119FCF099F40D(20175221),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=303,seconds left=60,activeThread=Thread[ExecuteThread: '0' for queue:
'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[JMS_cgJMSStore]=(ServerResourceInfo[JMS_cgJMSStore]=(state=started,assigned=none),xar=JMS_cgJMSStore),XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@1099718),SCInfo[ahlAlertsDomain+ahlAlertsServer]=(state=active),properties=({weblogic.jdbc=t3://10.100.51.137:7501}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=ahlAlertsServer+10.100.51.137:7501+ahlAlertsDomain+t3+,
XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl, JMS_cgJMSStore},NonXAResources={})],CoordinatorURL=ahlAlertsServer+10.100.51.137:7501+ahlAlertsDomain+t3+)],
userProperties={weblogic.jdbc=t3://10.100.51.137:7501}, secondsActive=20488, servers=ahlAlertsServer,
resourceNamesAndStatus=weblogic.jdbc.wrapper.JTSXAResourceImpl/started+JMS_cgJMSStore/started,
coordinatorURL=ahlAlertsServer+10.100.51.137:7501+ahlAlertsDomain+t3+, serversAndStatus=ahlAlertsDomain+ahlAlertsServer/active}
AND THE REST 19 SHOW
{weblogic.transaction.internal.JTATransactionImpl: name=null, xid=BEA1-2F01483119FCF099F40D,
status=Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException:
Transaction timed out after 303 seconds Xid=BEA1-2F01483119FCF099F40D(12347967),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=303,seconds left=60,activeThread=Thread[ExecuteThread: '1' for queue:
'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[JMS_cgJMSStore]=(ServerResourceInfo[JMS_cgJMSStore]=(state=started,assigned=none),xar=JMS_cgJMSStore),SCInfo[ahlAlertsDomain+ahlAlertsServer]=(state=active),properties=({}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=ahlAlertsServer+10.100.51.137:7501+ahlAlertsDomain+t3+,
XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl, JMS_cgJMSStore},NonXAResources={})],CoordinatorURL=ahlAlertsServer+10.100.51.137:7501+ahlAlertsDomain+t3+)],
userProperties={}, secondsActive=20482, servers=ahlAlertsServer, resourceNamesAndStatus=JMS_cgJMSStore/started,
coordinatorURL=ahlAlertsServer+10.100.51.137:7501+ahlAlertsDomain+t3+, serversAndStatus=ahlAlertsDomain+ahlAlertsServer/active}
Please advise. I am sure that I am not using any XA Drivers, but couldnt decipher
the meaning of the status.
Please help.
Regards,
Abhijeet
Sorry, it's fixed.
Solution: I have to reduce the size of the default queue first since it max out the limit -
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixinJoseph Weinstein <[email protected]> wrote:
>
>
YuanHui Liu wrote:
Joe,
We got the exact same error message. The error came after we got theJDBC connection,
and trying to create statement off it.
It occurs intermitently when we are running another standalone JAVAapp to do
some end of day work, which results in the DB Server being very busy(90+%CPU
usage) for about 5 minutes. We see a surge of requests to the WLSJDBC Connection
pool. This would sometimes result in all our subsequent DB requeststo fail and
lead to a crash.
We are using WLS6.0SP1. I do not think there's a 30 seconds wait leadingto a
connection timeout that caused this(rather it is the end effect).
Can you give us a more detailed explanation? Is there a miscommunicationbetween
our DB(Sybase12) and WLS?Hi. It looks to you like it's after you get the connection, but really
it's when the server is
gettng the pool connection. For performance/synchronization reasons we
do a clever
delay: When your code asks for a pool connection we quickly give you
the pool wrapper,
but we delay actually reserving the real underlying DBMS connection until
your first
real need for a connection, at your first JDBC call, such as createStatement()
etc.
It is while waiting for a pool connection long enough for the transaction
coordinator
to have timed you out before you ever get a chance. It's nothing to do
with the
DBMS or even JDBC, I believe. I think the weblogic server either has
too few execute-threads
and/or too few CPU cycles to do the work load.
Okay, so there's a lazy initialization of the connection.
From reading our log I believe our failur is immediate rather
than waiting for 30+ seconds(the default setting) from the DB,
the timeout occurred later as a result. At the time either because the DB Server
is very busy.
Since we are running WLS6.0 we have only one connection pool,
we have defined a max of 150 threads in the pool. While this
is happening the DB Server is being pinned by an overnight job,
but the WLS Server is not busy at all. The DB and WLS resides
on different physical boxes.
We also have a thread dump from the WLS console when we rebooted the server, it
showed that we are hanging on to the thread & jdbc
connections after these exceptions has occurred instead of releasing them, note
"16083"(~4.5 hours) seconds has passed:
142 116222 Retry rollback request for tx: 'transaction=(IdHash=2963855,Name =
[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()],Xid=30643:8f3838f3709bf53d,Status=Rolling
Back. [Reason = Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since
begin=16083,seconds left=10,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=server),SCInfo[server]=(state=active),properties=({weblogic.jdbc=t3://159.55.158.25:8005,
weblogic.transaction.name=[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()]}))'
Scheduled Trigger
So I would argue this problem actually chewed up resources on the WLS server.
-Yuanhui Liu
>>
>>
Thanks.
-YuanHui Liu
Joseph Weinstein <[email protected]> wrote:
lixin wrote:
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)Hi. This sounds like a JVM thread starvation issue, and/or a server
load
issue. What is
happening is that the transaction is started, and times out beforethe
SSB even gets to
the first JDBC work. I would first verify that the customer is using
the very latest JVM
available for the machine.
Joe Weinstein
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixin -
Because of inactivity, your session has timed out, no longer active
Dear Experts,
I am running 64 bit Redhat 5.5.
I've installed the Oracle DB, weblogic and OBIEE.
cat /middleware/Oracle_BI1/bifoundation/version.txt
Build: 11.1.1.5.0.BIFNDN_11.1.1.5.0_LINUX.X64_110427.0752
Release Version: Oracle Business Intelligence 11.1.1.5.0
Package: 110427.0955.000
java weblogic.utils.Versions
WebLogic Server 10.3.5.0 Fri Apr 1 20:20:06 PDT 2011 1398638 ImplVersion: 10.3.5.0
JDBC DMS ImplVersion: 11.2.0.2.0
Oracle WebLogic Server Module Dependencies 10.3 Thu Mar 3 14:37:52 PST 2011 ImplVersion: 10.3.5.0
Oracle WebLogic Server on JRockit Virtual Edition Module Dependencies 10.3 Thu Feb 3 16:30:47 EST 2011 ImplVersion: 10.3.5.0
java weblogic.version -verbose
WebLogic Server 10.3.5.0 Fri Apr 1 20:20:06 PDT 2011 1398638 ImplVersion: 10.3.5.0
Oracle WebLogic Server Module Dependencies 10.3 Thu Mar 3 14:37:52 PST 2011 ImplVersion: 10.3.5.0
Oracle WebLogic Server on JRockit Virtual Edition Module Dependencies 10.3 Thu Feb 3 16:30:47 EST 2011 ImplVersion: 10.3.5.0
Oracle Virtual Machine Manager Client implementation ImplVersion: 1.1.0.0
I login to the server at:
http://black.testrac.com:7003/
and navigate to:
Farm_bifoundation_domain
And I keep getting logged out, and the message:
Weblogic/OBIEE:
Because of inactivity, your session has timed out and is no longer active. Click OK to reload the page.
What's aggravating, is that I can login, and immediately get the message!
It is just me on this machine/environment.
How can I configure the server so that:
a: this does not happen at all, or
b: the timeout happens only after 2 or 3 hours
Thanks a lot!look for "emoms.properties" file
For my env :
/home/oracle/product/11g/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/em/hsz5x1/META-INF/emoms.properties
oracle.sysman.eml.maxInactiveTime=< value >
the VALUE is in MINUTES
Restart Admin & SOA server.
Thanks,
Sandeep
Maybe you are looking for
-
Sales order cost objective vs OKB9 Internal order cost object.
Hi All, we facing an issue with sales order cost objective vs OKB9 cost object. For IC PO service material, we assigned account assignment category 4.Reasonis Service material was not showing on G\R account. The G\L account 7898788, we assigned to S
-
Error while generating PDF of SF
Dear All, I'm trying to send SF as a PDF attachment, I'm able to send it successfully in Dev Server. In Prd. Server it works successfully in one ID, but in other it the SF func. module gives me an error with subrc EQ 1. On further debugging I found t
-
Log file is created on Desktop
Hello Friends, I am using lgo4j with JNLP for logging. My log4j.properties file is # Set root category priority to INFO and its only appender to CONSOLE. #log4j.rootCategory=INFO, CONSOLE log4j.rootCategory=INFO, CONSOLE, LOGFILE # Set the enterprise
-
Migration oracle database 8.1.7.3 to 10.2.0.2
Hi, I have a problem to migrate my database in 8.1.7.3 to 10.2.0.2 on different database server because the size fo this database is 2200Gigas. With RMAN or copy it's not possible because the database version are different. The solution is the export
-
So after my computer crashed, I got a new computer. However, when I downloaded Itunes and wanted to add songs to my ipod, it said that in order to so, I would have to replace all the songs on the ipod with the ones in the current library. I don't wan