如何从应用程序客户机连接远程 EJB 模块

2022-09-04 04:43:39

我在远程Glassfish服务器中有一个EJB模块,在我的计算机中有一个应用程序客户端。我想从应用程序客户端连接到远程 EJB。

这是我的 EJB 接口:

@Remote
public interface BookEJBRemote
{
    public String getTitle();
}

这是我的ejb:

@Stateless
public class BookEJB implements BookEJBRemote
{

    @Override
    public String getTitle()
    {
        return "Twenty Thousand Leagues Under the Sea";
    }
}

我有几个问题:

  1. 是否可以在远程应用程序客户端中使用依赖注入来连接到 ejb?如果是这样,我能做些什么来实现这一目标。我是否需要在 sun-ejb-jar.xml 和 sun-application-client 中.xml?换句话说,如果我使用依赖注入,就像@EJB BookEJBRemote书一样;应用程序客户端容器如何知道要注入什么 ejb?我应该在哪里指定信息?
  2. 如何运行应用程序客户端?我试图在glassfish服务器中运行package-appclient以获得appclient.jar并将其复制到我的计算机上。然后我键入 appclient.jar -client myAppClient.jar .它不起作用。如何指向目标服务器?
  3. 如果我不能在客户端中使用依赖注入,那么我想我必须使用JNDI查找。我需要在 sun-ejb-jar 中配置 jndi 名称.xml还是在 sun-application-client 中.xml?

无论我如何尝试,我从未设法运行应用程序客户端?你们能举一些工作的例子吗?谢谢你的每一个建议和例子?


答案 1

查看本教程创建 Java 独立客户机。基本上你需要

  • 自行设置 JNDI,因为您的客户无法使用容器环境。
  • 查找远程接口。
  • 当然,在类路径中包含所需的 jar 文件

答案 2

推荐