平台:JBoss AS 7.1.1。
我有一个无状态 bean 方法,它需要调用同一个 bean 的另一个方法,但必须通过 EJB 容器。
@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() 中为空。而在 method1() 中,存在一个正确注入的 mm 变量。
这是JBOss的缺陷,还是我做错了什么?谢谢。