jboss を使用してい5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)
ます。そして、Bean のビジネス インターフェイスを取得する必要があります。これは、トランザクション管理に必要です。ので、私は持っています:
@Local
public interface MyBeanInterface {
void transactionalMethod();
}
@Stateless
public class MyBean implements MyBeanInterface {
@Resource
private SessionContext context;
private int aState;
public void someMethod() {
aState = 42;
context.getBusinessObject(MyBeanInterface.class).transactionalMethod();
}
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public void transactionalMethod() {
System.out.println(aState); // 0!!!!!
}
}
何らかの理由で同じ Bean を取得できませんが、新しい Bean が作成されます。transactionalMethod
正しく実行するには状態変数の値が必要なため、これは悲惨なことです。
私は何を間違っていますか、それは jboss のバグですか? ちなみに、Bean のクラスを介してビジネス オブジェクトを取得する機能に影響するバグがあります: https://issues.jboss.org/browse/EJBTHREE-2126。ただし、それが私の問題に関連しているかどうかはわかりません。