【发布时间】:2013-04-01 07:18:08
【问题描述】:
我的问题基于 Can't get SessionContext on EJB,我想将EJBContext 注入我的代码中
我的代码是:
import javax.ws.rs.core.Context;
public class EjbContextTest {
@Resource
private EJBContext ejbContext;
@Resource
private SessionContext sessionContext;
......
}
我在activator中有一个简单的测试,只是想验证我是否可以通过使用CDI来获得一个EJBContext:
public void start(BundleContext context) throws Exception {
EjbContextTest test = new EjbContextTest();
if (test.getEjbContext() == null) {
System.out.println("ejbContext is: null" );
} else
System.out.println("ejbContext rollback only is: " +
test.getEjbContext().getRollbackOnly());
}
将包部署到 glassfish 3.1.2 时,我无法获得 EJBContext 的实例:
2013-03-29 17:11:20,547|信息|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging| _ThreadID=15;_ThreadName=Thread-2;|-----------> ejbContext 为:null*|#]如果您有任何建议,我很乐意尝试。
【问题讨论】:
-
所以你无法使用
@Resource来注入上下文? -
嗨,kolossus,使用 @Resource 不起作用,并且在将捆绑包部署到 Glassfish 时也会出现异常
-
嗨,alex,你知道@Resource 在 EJBContext 上不起作用的原因了吗?
标签: java ejb osgi glassfish-3