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

Java 如何从应用程序客户端连接远程EJB模块,java,netbeans,jakarta-ee,java-ee-6,Java,Netbeans,Jakarta Ee,Java Ee 6,我在远程Glassfish服务器中有一个EJB模块,在我的计算机中有一个应用程序客户端。我想从应用程序客户端连接到远程EJB 这是我的EJB接口: @Remote public interface BookEJBRemote { public String getTitle(); } 以下是MyEJB: @Stateless public class BookEJB implements BookEJBRemote { @Override public String

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

这是我的EJB接口:

@Remote
public interface BookEJBRemote
{
    public String getTitle();
}
以下是MyEJB:

@Stateless
public class BookEJB implements BookEJBRemote
{

    @Override
    public String getTitle()
    {
        return "Twenty Thousand Leagues Under the Sea";
    }
}
我有几个问题:

  • 我可以在远程应用程序客户端中使用依赖项注入来连接ejb吗?如果是的话,我可以做些什么来实现这一点。我是否需要在sun-ejb-jar.xml和sun-application-client.xml中进行配置?换句话说,如果我使用像@EJB BookEJBRemote book这样的依赖注入;应用程序客户机容器如何知道要注入的ejb?我应该在哪里指定信息
  • 如何运行应用程序客户端?我试图在glassfish服务器中运行PackageAppClient,以获取appclient.jar并将其复制到我的计算机上。然后我键入appclient.jar-client myAppClient.jar。它不起作用。如何指向目标服务器
  • 如果我不能在客户机中使用依赖项注入,那么我想我必须使用JNDI查找。我需要在sun-ejb-jar.xml或sun-application-client.xml中配置jndi名称吗 无论我如何尝试,我都无法运行应用程序客户端?你们能举一些有效的例子吗?感谢您提供的每一个建议和示例?

    检查此项。 基本上你需要

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

    您引用的教程非常古老。它面向使用NetBeans 6.1的用户。这是几年前发布的。@vkraemer这篇文章说它也已经用6.7.1进行了测试。您的问题在中得到了部分回答:Glassfish支持管理独立客户端应用程序,如果您通过运行它们。客户端必须在中指定JNDI设置,并在中指定服务描述。我同意这个问题。我在网上读到的每一篇文章都只是展示了如何在netbeans中运行应用程序客户端。似乎完全没有任何东西可以解释如何在netbeans之外运行应用程序客户端+1.