Sitemap

Amicuk Programming Answers

How does WLS 7 handle XAResource prepare failures..?

-0001-11-30   Views:0

Advertisement

          Hi,           I am in the process of testing the XA behaviour of JDBC drivers in WebLogic server           7.0, for the purpose of integrating our middleware agents that rely on JDBC and           XA.           For this, I have implemented

          Hi,
          I am in the process of testing the XA behaviour of JDBC drivers in WebLogic server
          7.0, for the purpose of integrating our middleware agents that rely on JDBC and
          XA.
          For this, I have implemented a XA JDBC driver "shim", which delegates all the
          calls to a third party XA driver, such as Oracle 9i, and also logs the method
          calls in a file.
          I have configured TWO WebLogic JDBC pools using my shim driver, one connecting
          to a LOCAL oracle db (say con1), and the other to a remote Oracle db (conB).
          Then a stateless session bean deployed in WLS7, executes various SQL using the
          two data sources, to capture different distributed transaction scenarios.
          In one scenario, I deliberately disconnect the network, JUST BEFORE the XAResource.prepare()
          call corresponds to the conB, thus emulating a 2-phase commit failure. (In my
          XA driver, I deliberately waits before prepare() to help diconnection process)
          Then I reconnect the network, enabling the con B. Though I would expect the Transation
          coordinator to call, XAResource.recover(), it looks that XAResource.commit() is
          called instead, as if the prepare stage was successful..!!
          [1] Have you any idea why this happens..? -i.e. commit() is called rather than
          recover(). See the stack trace I attach here.
          [2] Could you point me to any detailed sequence diagrams for XA/JTA prepare failures..?
          I have not been able to see any so far, either in JavaSoft/JTA site, or elsewhere.
          Thanks in advance,
          -hari
          PS: WebLogic stack trace on XAResource prepare() failure:
          6600121)AbstractSessionBean (AbstractSessionBean) .setSessionContext()
          (6600121)AbstractSessionBean (AbstractSessionBean) ejbCreate()
          (6600121)AbstractSessionBean (AbstractSessionBean) executeSQL() sqlInfo
          (6600121)AbstractSessionBean (AbstractSessionBean) begin()
          (6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo { conId
          =0, isCommit? true, SQL = SELECT name FROM dept, }
          (6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo { conId
          =1, isCommit? true, SQL = UPDATE emp set name='2_CON_TEST_NAME' WHERE id =2,
          (6600121)AbstractSessionBean (AbstractSessionBean) commit()
          >>>>> XAResource prepare wait =5000
          >>>>> XAResource prepare wait =5000
          java.sql.SQLException: Io exception: Connection reset by peer: JVM_recv in socke
          t input stream read
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          ment.java:210)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:111)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:95)
          at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          on.java:1055)
          at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          :893)
          at oracle.jdbc.xa.client.OracleXAResource.prepare(OracleXAResource.java:
          465)
          at driver.logging.xa.LogXAResource.prepare(Unknown Source)
          at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:747)
          at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
          ceInfo.java:1257)
          at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
          ceInfo.java:463)
          at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.
          java:190)
          at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(Serv
          erTransactionImpl.java:1925)
          at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(Ser
          verTransactionImpl.java:1683)
          at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          rverTransactionImpl.java:239)
          at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          sactionImpl.java:208)
          at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          onManagerImpl.java:282)
          at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          aAccessBean_xex19a_EOImpl.java:304)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          Unknown Source)
          at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          ef.java:114)
          at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          eManager.java:762)
          at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          a:308)
          at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          .java:30)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
          r
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          ment.java:210)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:111)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:95)
          at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          on.java:1055)
          at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          :893)
          at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          75)
          at driver.logging.xa.LogXAResource.commit(Unknown Source)
          at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:1313)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:512)
          at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          ava:237)
          at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          rTransactionImpl.java:1474)
          at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          (ServerTransactionImpl.java:2042)
          at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
          ansactionImpl.java:2002)
          at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
          ransactionImpl.java:2479)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          java.sql.SQLException: Closed Connection
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
          at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
          nection.java:206)
          at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
          va:101)
          at driver.logging.xa.LogXAConnection.getConnection(Unknown Source)
          at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
          at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
          at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
          a:736)
          at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
          ava:174)
          at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
          at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
          at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:1313)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:512)
          at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          ava:237)
          at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          rTransactionImpl.java:1474)
          at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          (ServerTransactionImpl.java:2042)
          at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          erTransactionImpl.java:1989)
          at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          rverTransactionImpl.java:242)
          at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          sactionImpl.java:208)
          at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          onManagerImpl.java:282)
          at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          aAccessBean_xex19a_EOImpl.java:304)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          Unknown Source)
          at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          ef.java:114)
          at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          eManager.java:762)
          at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          a:308)
          at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          .java:30)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
          r
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          ment.java:210)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:111)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:95)
          at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          on.java:1055)
          at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          :893)
          at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          75)
          at driver.logging.xa.LogXAResource.commit(Unknown Source)
          at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:1313)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:512)
          at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          ava:237)
          at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          rTransactionImpl.java:1474)
          at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          (ServerTransactionImpl.java:2042)
          at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          erTransactionImpl.java:1989)
          at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          rverTransactionImpl.java:242)
          at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          sactionImpl.java:208)
          at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          onManagerImpl.java:282)
          at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          aAccessBean_xex19a_EOImpl.java:304)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          Unknown Source)
          at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          ef.java:114)
          at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          eManager.java:762)
          at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          a:308)
          at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          .java:30)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          java.sql.SQLException: Closed Connection
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
          at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
          nection.java:206)
          at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
          va:101)
          at driver.logging.xa.LogXAConnection.getConnection(Unknown Source)
          at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
          at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
          at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
          a:736)
          at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
          ava:174)
          at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
          at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
          at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:1313)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:512)
          at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          ava:237)
          at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          rTransactionImpl.java:1474)
          at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          (ServerTransactionImpl.java:2042)
          at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          erTransactionImpl.java:1989)
          at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          rverTransactionImpl.java:242)
          at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          sactionImpl.java:208)
          at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          onManagerImpl.java:282)
          at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          aAccessBean_xex19a_EOImpl.java:304)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          Unknown Source)
          at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          ef.java:114)
          at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          eManager.java:762)
          at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          a:308)
          at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          .java:30)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
          r
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          ment.java:210)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:111)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:95)
          at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          on.java:1055)
          at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          :893)
          at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          75)
          at driver.logging.xa.LogXAResource.commit(Unknown Source)
          at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:1313)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:512)
          at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          ava:237)
          at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          rTransactionImpl.java:1474)
          at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          (ServerTransactionImpl.java:2042)
          at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          erTransactionImpl.java:1989)
          at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          rverTransactionImpl.java:242)
          at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          sactionImpl.java:208)
          at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          onManagerImpl.java:282)
          at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          aAccessBean_xex19a_EOImpl.java:304)
          at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          Unknown Source)
          at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          ef.java:114)
          at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          eManager.java:762)
          at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          a:308)
          at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          .java:30)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          java.sql.SQLException: Closed Connection
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
          at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
          nection.java:206)
          at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
          va:101)
          at driver.logging.xa.LogXAConnection.getConnection(Unknown Source)
          at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
          at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
          at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
          a:736)
          at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
          ava:174)
          at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
          at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
          at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:1313)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:512)
          at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          ava:237)
          at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          rTransactionImpl.java:1474)
          at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          (ServerTransactionImpl.java:2042)
          at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
          ansactionImpl.java:2002)
          at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
          ransactionImpl.java:2479)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
          r
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          ment.java:210)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:111)
          at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          ment.java:95)
          at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          on.java:1055)
          at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          :893)
          at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          75)
          at driver.logging.xa.LogXAResource.commit(Unknown Source)
          at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:1313)
          at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          eInfo.java:512)
          at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          ava:237)
          at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          rTransactionImpl.java:1474)
          at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          (ServerTransactionImpl.java:2042)
          at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
          ansactionImpl.java:2002)
          at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
          ransactionImpl.java:2479)
          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          

The replay answer
Advertisement
It sounds like a driver problem. Have you checked with Oracle about
          this behavior?
          Alex
          Hari Rajapakshe wrote:
          > Hi Alex,
          > Thanks for the reply. I AM SURE that XAResource being prepared does NOT throw
          > an exception for the connection failure.
          >
          > In fact, I have simplified the test scenario, by removing WLS from the picture,
          > and manually calling XA methods in a two-tier JDBC client, which;
          >
          > [1] Instantiate two XA data sources, one on a local oracle db (A) and the other
          > a remote one (b)
          > [2] Get two XA connections (XAC1 and XAc2) from the data sources,
          > [3] Create two XA resource (XARA and XARB) on connections, and starting them.
          > [4] Create two jdbc connections and then executing UPDATING SQL on them.
          > [5] calling end() on XA resources.
          > [6] Calling prepare() on XARA (on the local db)
          >
          > [7] Disconecting the LAN connection.
          > [8] Calling prepare() on XARB (on the remote db)
          >
          > At the step [8], I excpet an XAException, indicating the network failure. But
          > Oracle driver returns with 0, merely DUMPING THE STACK TRACE on std error (ie.
          > cmd line)...!!
          >
          > This is weird.. Or am I missing something here..?
          >
          > My remote db is Oracle 9i, and the local 8i (8.1.7), and I have tested the above
          > in both JDBC think and OCI drivers with the same results.
          >
          > Any ideas..?
          >
          > thanks
          > -hari
          >
          >
          > Alex <[email protected]> wrote:
          >
          >>Hi Hari,
          >>
          >>In the scenario that you describe the prepare failure should cause the
          >>
          >>transaction to be rolled back. Are you sure that the commit operation
          >>
          >>that you are seeing is for the same xid as the one that failed to prepare?
          >>
          >>Regarding recovery, the transaction manager does not need to call
          >>recover on the reconnected Oracle resource because the TM knows the
          >>state of any pending transactions in the resource that it is
          >>coordinating. The XAResource.recover method is only required in the
          >>
          >>event that the transaction manager fails. After restart, the
          >>transaction manager needs to determine if there are pending (prepared)
          >>
          >>transactions in the resources that it has previously coordinated that
          >>
          >>need to be resolved.
          >>
          >>Alex
          >>
          >>
          >>Hari Rajapakshe wrote:
          >>
          >>
          >>>Hi,
          >>>
          >>>I am in the process of testing the XA behaviour of JDBC drivers in
          >>>
          >>WebLogic server
          >>
          >>>7.0, for the purpose of integrating our middleware agents that rely
          >>>
          >>on JDBC and
          >>
          >>>XA.
          >>>
          >>>For this, I have implemented a XA JDBC driver "shim", which delegates
          >>>
          >>all the
          >>
          >>>calls to a third party XA driver, such as Oracle 9i, and also logs
          >>>
          >>the method
          >>
          >>>calls in a file.
          >>>
          >>>I have configured TWO WebLogic JDBC pools using my shim driver, one
          >>>
          >>connecting
          >>
          >>>to a LOCAL oracle db (say con1), and the other to a remote Oracle db
          >>>
          >>(conB).
          >>
          >>>Then a stateless session bean deployed in WLS7, executes various SQL
          >>>
          >>using the
          >>
          >>>two data sources, to capture different distributed transaction scenarios.
          >>>
          >>>In one scenario, I deliberately disconnect the network, JUST BEFORE
          >>>
          >>the XAResource.prepare()
          >>
          >>>call corresponds to the conB, thus emulating a 2-phase commit failure.
          >>>
          >>(In my
          >>
          >>>XA driver, I deliberately waits before prepare() to help diconnection
          >>>
          >>process)
          >>
          >>>Then I reconnect the network, enabling the con B. Though I would expect
          >>>
          >>the Transation
          >>
          >>>coordinator to call, XAResource.recover(), it looks that XAResource.commit()
          >>>
          >>is
          >>
          >>>called instead, as if the prepare stage was successful..!!
          >>>
          >>>[1] Have you any idea why this happens..? -i.e. commit() is called
          >>>
          >>rather than
          >>
          >>>recover(). See the stack trace I attach here.
          >>>
          >>>[2] Could you point me to any detailed sequence diagrams for XA/JTA
          >>>
          >>prepare failures..?
          >>
          >>>I have not been able to see any so far, either in JavaSoft/JTA site,
          >>>
          >>or elsewhere.
          >>
          >>>Thanks in advance,
          >>>-hari
          >>>
          >>>PS: WebLogic stack trace on XAResource prepare() failure:
          >>>
          >>>
          >>>
          >>>
          >>>6600121)AbstractSessionBean (AbstractSessionBean) .setSessionContext()
          >>>(6600121)AbstractSessionBean (AbstractSessionBean) ejbCreate()
          >>>(6600121)AbstractSessionBean (AbstractSessionBean) executeSQL() sqlInfo
          >>>(6600121)AbstractSessionBean (AbstractSessionBean) begin()
          >>>(6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo
          >>>
          >>{ conId
          >>
          >>> =0, isCommit? true, SQL = SELECT name FROM dept, }
          >>>(6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo
          >>>
          >>{ conId
          >>
          >>> =1, isCommit? true, SQL = UPDATE emp set name='2_CON_TEST_NAME' WHERE
          >>>
          >>id =2,
          >>
          >>> }
          >>>(6600121)AbstractSessionBean (AbstractSessionBean) commit()
          >>>
          >>>
          >>>>>>>>XAResource prepare wait =5000
          >>>>>>>>XAResource prepare wait =5000
          >>>>>>>>
          >>>>>>>>
          >>>java.sql.SQLException: Io exception: Connection reset by peer: JVM_recv
          >>>
          >>in socke
          >>
          >>>t input stream read
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          >>>ment.java:210)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:111)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:95)
          >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          >>>on.java:1055)
          >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          >>>:893)
          >>> at oracle.jdbc.xa.client.OracleXAResource.prepare(OracleXAResource.java:
          >>>465)
          >>> at driver.logging.xa.LogXAResource.prepare(Unknown Source)
          >>> at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:747)
          >>> at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
          >>>ceInfo.java:1257)
          >>> at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
          >>>ceInfo.java:463)
          >>> at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.
          >>>java:190)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(Serv
          >>>erTransactionImpl.java:1925)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(Ser
          >>>verTransactionImpl.java:1683)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          >>>rverTransactionImpl.java:239)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          >>>sactionImpl.java:208)
          >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          >>>onManagerImpl.java:282)
          >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          >>>aAccessBean_xex19a_EOImpl.java:304)
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          >>>Unknown Source)
          >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          >>>ef.java:114)
          >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          >>>eManager.java:762)
          >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          >>>a:308)
          >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          >>>java:30)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
          >>>
          >>write erro
          >>
          >>>r
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          >>>ment.java:210)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:111)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:95)
          >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          >>>on.java:1055)
          >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          >>>:893)
          >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          >>>75)
          >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
          >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:1313)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:512)
          >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          >>>ava:237)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          >>>rTransactionImpl.java:1474)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          >>>(ServerTransactionImpl.java:2042)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
          >>>ansactionImpl.java:2002)
          >>> at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
          >>>ransactionImpl.java:2479)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>java.sql.SQLException: Closed Connection
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
          >>> at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
          >>>nection.java:206)
          >>> at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
          >>>va:101)
          >>> at driver.logging.xa.LogXAConnection.getConnection(Unknown
          >>>
          >>Source)
          >>
          >>> at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
          >>> at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
          >>> at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
          >>>a:736)
          >>> at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
          >>>ava:174)
          >>> at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
          >>> at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
          >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:1313)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:512)
          >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          >>>ava:237)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          >>>rTransactionImpl.java:1474)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          >>>(ServerTransactionImpl.java:2042)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          >>>erTransactionImpl.java:1989)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          >>>rverTransactionImpl.java:242)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          >>>sactionImpl.java:208)
          >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          >>>onManagerImpl.java:282)
          >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          >>>aAccessBean_xex19a_EOImpl.java:304)
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          >>>Unknown Source)
          >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          >>>ef.java:114)
          >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          >>>eManager.java:762)
          >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          >>>a:308)
          >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          >>>java:30)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
          >>>
          >>write erro
          >>
          >>>r
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          >>>ment.java:210)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:111)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:95)
          >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          >>>on.java:1055)
          >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          >>>:893)
          >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          >>>75)
          >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
          >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:1313)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:512)
          >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          >>>ava:237)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          >>>rTransactionImpl.java:1474)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          >>>(ServerTransactionImpl.java:2042)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          >>>erTransactionImpl.java:1989)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          >>>rverTransactionImpl.java:242)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          >>>sactionImpl.java:208)
          >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          >>>onManagerImpl.java:282)
          >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          >>>aAccessBean_xex19a_EOImpl.java:304)
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          >>>Unknown Source)
          >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          >>>ef.java:114)
          >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          >>>eManager.java:762)
          >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          >>>a:308)
          >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          >>>java:30)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>java.sql.SQLException: Closed Connection
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
          >>> at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
          >>>nection.java:206)
          >>> at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
          >>>va:101)
          >>> at driver.logging.xa.LogXAConnection.getConnection(Unknown
          >>>
          >>Source)
          >>
          >>> at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
          >>> at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
          >>> at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
          >>>a:736)
          >>> at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
          >>>ava:174)
          >>> at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
          >>> at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
          >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:1313)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:512)
          >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          >>>ava:237)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          >>>rTransactionImpl.java:1474)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          >>>(ServerTransactionImpl.java:2042)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          >>>erTransactionImpl.java:1989)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          >>>rverTransactionImpl.java:242)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          >>>sactionImpl.java:208)
          >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          >>>onManagerImpl.java:282)
          >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          >>>aAccessBean_xex19a_EOImpl.java:304)
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          >>>Unknown Source)
          >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          >>>ef.java:114)
          >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          >>>eManager.java:762)
          >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          >>>a:308)
          >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          >>>java:30)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
          >>>
          >>write erro
          >>
          >>>r
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          >>>ment.java:210)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:111)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:95)
          >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          >>>on.java:1055)
          >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          >>>:893)
          >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          >>>75)
          >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
          >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:1313)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:512)
          >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          >>>ava:237)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          >>>rTransactionImpl.java:1474)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          >>>(ServerTransactionImpl.java:2042)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
          >>>erTransactionImpl.java:1989)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
          >>>rverTransactionImpl.java:242)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
          >>>sactionImpl.java:208)
          >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
          >>>onManagerImpl.java:282)
          >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
          >>>
          >>Source)
          >>
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
          >>>aAccessBean_xex19a_EOImpl.java:304)
          >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
          >>>Unknown Source)
          >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
          >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
          >>>ef.java:114)
          >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
          >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
          >>>eManager.java:762)
          >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
          >>>a:308)
          >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
          >>>java:30)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>java.sql.SQLException: Closed Connection
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
          >>> at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
          >>>nection.java:206)
          >>> at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
          >>>va:101)
          >>> at driver.logging.xa.LogXAConnection.getConnection(Unknown
          >>>
          >>Source)
          >>
          >>> at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
          >>> at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
          >>> at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
          >>>a:736)
          >>> at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
          >>>ava:174)
          >>> at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
          >>> at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
          >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:1313)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:512)
          >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          >>>ava:237)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          >>>rTransactionImpl.java:1474)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          >>>(ServerTransactionImpl.java:2042)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
          >>>ansactionImpl.java:2002)
          >>> at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
          >>>ransactionImpl.java:2479)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
          >>>
          >>write erro
          >>
          >>>r
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
          >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
          >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
          >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
          >>>ment.java:210)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:111)
          >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
          >>>ment.java:95)
          >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
          >>>on.java:1055)
          >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
          >>>:893)
          >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
          >>>75)
          >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
          >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:1313)
          >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
          >>>eInfo.java:512)
          >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
          >>>ava:237)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
          >>>rTransactionImpl.java:1474)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
          >>>(ServerTransactionImpl.java:2042)
          >>> at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
          >>>ansactionImpl.java:2002)
          >>> at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
          >>>ransactionImpl.java:2479)
          >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
          >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
          >>>
          >>>
          >>>
          >>>
          >>>
          >
          

Go to See the other 4 answers

How does WLS 7 handle XAResource prepare failures..?

Category:DefaultRelease time:-0001-11-30Views:130

          Hi,           I am in the process of testing the XA behaviour of JDBC drivers in WebLogic server           7.0, for the purpose of integrating our middleware agents that rely on JDBC and           XA.           For this, I have implemented[More]

XaResource.prepare Method Error

Category:DefaultRelease time:-0001-11-30Views:130

When we execute the xaresource.prepare(); throws an exception of: RuntimeException in method: public abstract void transaction.bean.TransactionManager.insert(common.valueObject.VOInsert,java.lang.String) throws java.lang.Exception,java.rmi.RemoteExce[More]

Error handling in prepared statement batch

Category:DefaultRelease time:2015-10-11Views:130

Hi, For a prepared statement batch, it is not possible to know which operation failed. ... You should always perform a ROLLBACK operation in this situation. For a generic statement batch or callable statement batch, the update counts array is only a[More]

HOW to handle JCO connection failure

Category:DefaultRelease time:-0001-11-30Views:130

if i have a JCO connection.....to process the RFC function... when i call the function...the job leave to R3 to do the rest... yet ..the connection broken..at this time.. the is no result return..and consequency receive the RFC_ERROR_COMMUNICATION ex[More]

WLS "loses" handle to ResourceBundle

Category:DefaultRelease time:-0001-11-30Views:130

I'm having a strange problem using ResourceBundle's with WLS 5.1 SP9 on JDK 1.3.0. We use ResourceBundle's extensively for internationalisation - occasionally we get the error: "java.util.MissingResourceException: Can't find bundle for base name xxx,[More]

Handling Auto-provisioning failure Manually?

Category:DefaultRelease time:-0001-11-30Views:130

Hi all, WE are going with auto-provisioning for ECC and EP systems. I am looking for some suggestions,incase auto-provisioning failed due to some reason. I tweaked the connector settings in Portal that will throw some error. Then I configured the esc[More]

How handle Add Media Failure Error: File Video Dimensions (Width/Height) Too Large?

Category:DefaultRelease time:-0001-11-30Views:130

I am a brand new user of Premiere Elements.  I am using it for stop gap animation, bringing in digital still photos from my Nikon D3200.  I just attempted to bring in the first set of photos from the SD card.  I'm running Windows 7.   After loading t[More]

BPEL-- Urgent- Handling webservice  call failures

Category:DefaultRelease time:-0001-11-30Views:130

Urgent-->We have to do a webservice call in our BPEL Process.If the webservice call fails it has to wait for 3 mins and retry again.Please suggets me some solution.I dont want to use WAIT BPEL Activity or JAVA thread.sleep.Any more ideas.Oracle Team[More]

How to handle delta failure in COPA?

Category:DefaultRelease time:-0001-11-30Views:130

HI FOLKS I appreciate if any one can take me through how to handle delta load failure in COPA?Also I need whether we have any other method for 2004 release...to handle delta issue in COPA....... no doubt Step by step walk through will definetely gain[More]

No Lock & Edit button in WLS 10 Console

Category:DefaultRelease time:-0001-11-30Views:130

I don't have the Lock & Edit button in the WLS 10 Console. I know that this could be turned on and off in previous versions of WebLogic in the config.xml file, but I didn't find this anywhere in the documentation anymore. Can anybody tell me how to m[More]

ClassNotFoundException: oracle.security.jps.wls.listeners.JpsApplicationLif

Category:DefaultRelease time:-0001-11-30Views:130

I got an error while trying to deploy an EJB project to WebLogic 10.3 that there is an class missing. But I actually don't use this class in my project! Here is the log file: ####<09.11.2008 0.03 Uhr CET> <Error> <Deployer> <nh-laptop[More]

Hot
Hi All, I tried in my ways but iam unable to resolve it. Pls help me... I have code like this... but the total number of records fetched is shown as 0. even though i have records in my database. I write the code in am as follows public void dosome( i [More]
Hi! I've been working on this problem for about a month and I feel like I might be missing something obvious at this point.  So, I post it here in the hopes that one of you might be able to offer a suggestion on how I can fix my dilemma.  About a mon [More]
I am using a Fios actiontec router.  I would like to be able to use the WRT610N as  a wireless access point or as a 2nd router and turn off the Actiontec wireless feature.  I cannot find any information on how to make the WRT610N into an access point [More]
I got 2 white spots underneath the screen on the left side and a thing that looks like dust on the bottom right. Theres a pixel flipping out on the left side, and theres also a pixel size white dot on the black edge of the screen ( weird). Also a yel [More]
Installed new burner and updated Itunes in past 2 weeks. Today noticed that I can't burn. Itunes still shows my old burner (liteon) and not my new burner (Benq). Uninstalled itunes, reinstalled after restart it still shows up in itunes as a liteon an [More]
I'm relativly new to the OWB but I'm in the learing proces...I have some serious problems mapping the cube. How do I map my surrogate dimension key into the cube (which has the same surrogate key)? Do I have to map them at all or are they automatical [More]
Can I have multiple blank rows on detail form when I create master detail form? please help me shuyueLet me answer my own question. Set the number of rows to 500 and it will dynamically set to the number of rows.Read other 2 answers [More]
This morning I woke up and my phone was completely fine. I unplugged it from the charger and unlocked it and the screen looked like the colors were inverted and there were white lined runing across the screen that were flashing. Ive tried reseting it [More]
Greetings,           I've created a cache object in a Singleton in my EJB for storing data           about result requests made for database simple query. I used this           technique because was not acceptable using entity beans due the           [More]
Hello, I am new to version 3.5 and would like to know more about the functionalities of "Cell Definition". Could someone enlighten me more about what possibilities I have wirh Cell Definition. Links are always welcome.... Thanks, SDHi, Cell defi [More]