无法在嵌入式GlassFish 3.1中查找EJBContext

时间:2012-01-09 14:28:51

标签: java ejb jndi enterprise

我正在使用EJBContainer编写一些junit测试。除了在无状态bean中获取EJBContext之外,一切正常。我需要此上下文来获取用户角色信息。试图以两种方式获得背景:

@Resource private javax.ejb.EJBContext ctx;

这会导致EXCEPTION_ACCESS_VIOLATION。

InitialContext ic = new InitialContext(props);
EJBContext ctx = (EJBContext) ic.lookup("java:comp/EJBContext");

无法查找上下文(javax.naming.NamingException)。

我按照here给出的建议添加了jndi.properties。根据{{​​3}},该文件为红色。任何想法为什么会这样? bean在真实环境中工作。

有关我的设置的更多信息:

  • Windows 7 x64
  • 当前Java 6 SDK x32
  • JUnit 4.10
  • glassfish-embedded-all 3.1.1

1 个答案:

答案 0 :(得分:0)

问题与Glassfish无关。我前一段时间将文件“javaee-endorsed-api-6.0.jar”复制到我的sdk endorsed文件夹中以便使用

@Resource(lookup = ... )
我的Eclipse IDE中的

注释。删除后,一切正常。