0

私はBMTを使って豆を食べています。BMT を使用する別の Bean が最初の Bean に注入されます。最初のメソッドが 2 番目のメソッドを呼び出すと、突然トランザクションが閉じられます。私のコードでは、メソッド呼び出しの前とその内部に正確に絞り込みました。

トレースは次のとおりです。

2018-11-23 12:15:32,275 +0100 [TRACE] [com.arjuna.ats.jta] (デフォルト タスク 18) TransactionImple.getStatus: javax.transaction.Status.STATUS_ACTIVE

2018-11-23 12:15:32,276 +0100 [TRACE] [com.arjuna.ats.jta] (デフォルトのタスク-18) TransactionImpleManager.suspend

2018-11-23 12:15:32,277 +0100 [TRACE] [com.arjuna.ats.jta] (デフォルト タスク 18) TransactionSynchronizationRegistryImple.getTransactionKey

コード例:

@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
public class A{
  @Inject
  private B b;
  @Inject
  private UserTransaction trx;
  
  public void foo(){
    trx.begin();
    //transaction is active
    b.bar();
    trx.commit();
  }
}
@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
public class B{
  public void bar(){
    //transaction is closed
    //whatever
  }
}

JBoss EAP 7.0.9 で発生します。

私はこの星座をたくさんの場所に持っていますが、ここだけ壊れています。基本的なものが欠けていますか?追加の手がかりはどこで探すことができますか?

4

1 に答える 1