5

weblogic サーバー v10.3.2.0 で次の例外に直面しています。JRockit JRE 6.0 を使用しています。

すべてのサーバー リクエストには、約 6 ~ 7 個の XA データソースが含まれます。最後のデータソースの処理が始まったばかりのときに、この例外に直面します。

誰かアドバイスください。

java.sql.SQLException: Unexpected exception while enlisting XAConnection 
java.sql.SQLException: Transaction rolled back: setRollbackOnly called on transaction 
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1616) 
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1503) 
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:446) 
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:403) 
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:364) 
at com.ibatis.sqlmap.engine.transaction.jta.JtaTransaction.init(JtaTransaction.java:68) 
at com.ibatis.sqlmap.engine.transaction.jta.JtaTransaction.getConnection(JtaTransaction.java:131) 
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForObject(MappedStatement.java:120) 
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:518) 
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:493) 
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106) 
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:82) 
4

3 に答える 3

1

最後のデータソースがXAデータソースとして適切に構成されていないか、XAドライバーがインストールされていないか、XAをサポートしていないと推測する必要があります。

ここで、スタックを切り捨てる(再スローをキャッチしますが、スタックフレームの最上位セットのみを保持する)面白い例外処理を実行していますか、それともカスタム例外処理ライブラリを使用していますか?もしあなたがそうなら、私はそれを放棄します。caused by:追加情報を明らかにする、データソースのドライバーに関連する追加の下位レベルスタックがあるはずです。

そうではなく、これがあなたが得ている唯一の情報である場合。サーバーのロギングをアップするdebugtrace、またはダウンして、weblogicがどのように処理を実行するかを汚すときが来たかもしれません。

または、サポートされている場合は、ベンダーにドライバーのバージョン/構成を確認します。そうでない場合は、ドキュメントを追跡し、自分で確認する必要があります。

于 2011-08-29T17:31:07.387 に答える
1

あなたが書いたように、このサンプルでは原因は不明です。トランザクションが「ロールバックする必要がある」とマークされていることがわかります。おそらく、何か問題が発生したときに以前のデータソースによってマークされています。

たぶん、以前のデータソースの以前のログをチェックして、原因を見つけることができますか?

于 2011-08-29T13:32:52.930 に答える