4

プラットフォーム:JBossAS7.1.1。

同じBeanの別のメソッドを呼び出す必要があるが、EJBコンテナを経由する必要があるステートレスBeanメソッドがあります。

@Stateless
public class OrderManager {
    @Resource
    SessionContext ctx;
    @Inject
    MailUtil mm;
    Logger logger = Logger.getLogger("Test");

    public void method1() {
        if (mm == null) {
            logger.info("MailUtil is null");
        }

        ctx.getBusinessObject(OrderManager.class).method2();
    }

    @Asynchronous
    public void method2() {
        if (mm == null) {
            logger.info("MailUtil is null");
        }
    }
}

残念ながら、注入された変数mmはmethod2()内ではnullです。一方、method1()内には、適切に注入されたmm変数が存在します。

これはJBOssの欠陥ですか、それとも私は何か間違ったことをしていますか?ありがとう。

4

2 に答える 2

0

Pete Muir によると、これはバグですが、修正されているかどうかはわかりません。JBoss の新しいバージョン (ソースからビルド) を試すとうまくいきます。それでも問題が解決しない場合は、バグ レポートを作成してください。

于 2013-02-28T17:45:59.027 に答える