我在 EJB3 中使用 hibernate4 lucene4。
它运行完美,但是当我在第一个托管 bean 中添加事务时。InitialContext 返回:
javax naming not found in ctx.lookup("java:comp/UserTransaction");
ex = (javax.naming.NamingException) javax.naming.NamingException: 在 SerialContext [myEnv=java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory 中查找 'java:comp/UserTransaction' 失败, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [根例外是 javax.naming。 NameNotFoundException: Recherche de java:comp/UserTransaction non autorisée pour les beans Transaction gérés par le conteneur]
我认为,context
实现方式不同,他需要一个道具InitialContext
,
- 我从第一个托管 bean 的简单类中调用了 ejb 事务,
- 我从两个托管 bean 的另一个 EJB3 调用 InitialContext