【问题标题】:JNDI lookup on TomEETomEE 上的 JNDI 查找
【发布时间】:2016-02-10 15:43:50
【问题描述】:

您好,有一个 Web 项目和一个 EJB 项目在同一个 TomEE 服务器上运行。

我已经在 TomEE 服务器的应用程序文件夹中部署了 EJB 项目,并且可以看到 EJB 在服务器启动时正在启动。

INFO: Jndi(name=DefaultRegistrationProcess) --> Ejb(deployment-id=DefaultRegistrationProcess)

以下是 EJB 项目中的 @Stateless bean 之一

@Stateless(name = "DefaultRegistrationProcess")
public class DefaultRegistrationProcess implements RegistrationProcess {

    @Override
    public void process(Registration registration) {
        System.out.println("Hello from Default registration process!");
    }

}

我想从 Web 项目中对 DefaultRegistrationProcess bean 进行 JNDI 查找。

通过 maven 将 EJB 与 Web 项目打包我可以使用以下代码进行 JNDI 查找。

new InitialContext().lookup("java:module/DefaultRegistrationProcess");

当 EJB 单独部署时尝试执行相同的调用时,我得到 ​​p>

Exception occured: Name "module/DefaultRegistrationProcess" not found. 

我浏览了http://tomee.apache.org/documentation.html 网站并尝试了一些示例,但仍然出现错误。

当 EJB 部署在同一个 TomEE 服务器上时,如何从 Web 项目中对 EJB 进行本地 JNDI 查找?

【问题讨论】:

  • 您能否提供一些有关您正在使用的服务器版本以及您遵循哪个 Java EE 规范的信息?
  • 我正在使用 Apache-tomee-1.7.1-plus。以下是我试过的,tomee.apache.org/basics---getting-things.htmltomee.apache.org/lookup-of-other-ejbs-example.html
  • 能否提供您的 JNDI 树?
  • 您好 Aribeiro,不确定您所说的 JNDI 树是什么意思。
  • 您已经解决了,但是 JNDI 树是所有可用于发现和/或查找的服务的分层目录结构。通常,您可以通过应用服务器的管理控制台访问它。

标签: ejb jndi apache-tomee


【解决方案1】:

我必须将@Remote 添加到我的DefaultRegistrationProcess 类实现的业务接口中。

@Remote
public interface RegistrationProcess {

    public void process(Registration registration);

}

之后,我可以使用LocalInitialContextFactory 属性和DefaultRegistrationProcessRemote 的JNDI 名称进行JNDI 查找。

 Properties p = new Properties();
 p.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.openejb.core.LocalInitialContextFactory");
 new InitialContext(p).lookup("DefaultRegistrationProcessRemote");

【讨论】:

  • 顺便说一句,使用org.apache.openejb.core.LocalInitialContextFactory而不是org.apache.openejb.client.LocalInitialContextFactory,后者是@Deprecated
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2021-04-30
  • 1970-01-01
相关资源
最近更新 更多