无法获取 EJB 业务对象

Unable to get a EJB business object

我遇到这样一种情况,我需要从同一个 EJB 的 methodA() 调用 EJB 的 methodB(),新事务从 methodB() 开始。

我在一些线程上读到通过

获取对 EJB 的引用
sessionContext.getBusinessObject(EjbLocalInterface.class);

会起作用。但它给了我一个

java.lang.Exception: com.ibm.ejs.container.UnknownLocalException: nested exception is: java.lang.IllegalStateException: Requested business interface not found.

我目前正在研究 EJB 2.1

如果您使用 bean 管理的事务,您应该能够手动启动和关闭事务:-

Bean Transaction Types

javax.ejb.SessionContext.getBusinessObject() 是 EJB 3.0 方法。

我曾使用 javax.ejb.SessionContext.getEJBLocalObject() 来完成您在(遥远的)过去成功尝试做的事情。不过,您需要将其转换为您的业务界面。