2016-05-06 9 views
0

JBOSS eap7で2 pcトランザクションのロールバックをテストしようとしています。 xa jms setupとoracle xaデータソースを使用しています。2フェーズコミットロールバックjboss 7.xテスト(2pc)

Beanはoracle xaデータソースを使用してdbを更新し、jms messgを公開します。 MDBがメッセージを受信し、実行時例外をスローします。

dbトランザクションもロールバックされると予想されましたが、コミットされています。

私のセッションは にあります。セッションセッション= connection.createSession(true、Session.SESSION_TRANSACTED);

この機能を確認するためのアイデアやテストがありますか?

答えて

0

注釈を使用してMDBをトランザクションとしてマークすることをお勧めします。例:

import javax.ejb.TransactionAttribute; 
import javax.ejb.TransactionAttributeType; 

@TransactionAttribute(TransactionAttributeType.REQUIRED) 
public class myMDB implements MessageListener { 
... 
... 
... 
} 

これにより、JBossはMDBのすべてのメソッドのトランザクションを開始します。

+0

ありがとうございました。私はコンテナが常に取引されることに気付かなかった。 – santosh1220