WLS 12C - 获取交易不再有效

时间:2017-06-20 15:25:23

标签: java jdbc transactions weblogic12c jta

我在Weblogic和setAutoCommit(false)中配置了非XA数据源,其中我的过程中很少有人在WLS中提交并配置了事务时间为5000

我收到此异常

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:202)
        at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:214)
        at weblogic.jdbc.wrapper.JTSConnection.prepareCall(JTSConnection.java:610)

        at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:451)
        at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:375)
        at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:310)
        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4855)
        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4529)
        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3976)
        at weblogic.jms.client.JMSSession.access$000(JMSSession.java:120)
        at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5375)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

我收到以下错误消息,

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:202)
        at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:214)
        at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:98)
        at weblogic.jdbc.wrapper.JTSConnection_oracle_jdbc_driver_T4CConnection.physicalConnectionWithin(Unknown Source)
        at oracle.sql.CLOB.createTemporary(CLOB.java:1118)
        at oracle.sql.CLOB.createTemporary(CLOB.java:1078)

        at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:451)
        at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:375)
        at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:310)
        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4855)
        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4529)
        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3976)
        at weblogic.jms.client.JMSSession.access$000(JMSSession.java:120)
        at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5375)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

我使用以下代码将数据插入表格,

java.sql.Clob  clobData = oracle.sql.CLOB.createTemporary(conn,
                    false, oracle.sql.CLOB.DURATION_SESSION);

0 个答案:

没有答案