Java glassfish:使用应用程序客户端容器远程调用EJB模块

Java glassfish:使用应用程序客户端容器远程调用EJB模块,java,jakarta-ee,glassfish,ejb,jndi,Java,Jakarta Ee,Glassfish,Ejb,Jndi,在Ubuntu14.04Tahr上远程安装Glassfish 4.x之后,我准备继续安装我的第一个远程EJB模块——只是想确保我走的是正确的道路。从Netbeans示例开始,如何为远程部署的EJB模块创建客户端 Netbeans示例假定Glassfish正在本地主机上运行。我不清楚确切的机制,因为它没有为localhost显式配置。大概是为本地主机隐式配置的 我想使用ACC连接到一个远程Glassfish服务器,而不是本地服务器。就上下文而言,ACC是: 介绍应用程序客户机容器 应用程序客户机容

在Ubuntu14.04Tahr上远程安装Glassfish 4.x之后,我准备继续安装我的第一个远程EJB模块——只是想确保我走的是正确的道路。从Netbeans示例开始,如何为远程部署的EJB模块创建客户端

Netbeans示例假定Glassfish正在本地主机上运行。我不清楚确切的机制,因为它没有为localhost显式配置。大概是为本地主机隐式配置的

我想使用ACC连接到一个远程Glassfish服务器,而不是本地服务器。就上下文而言,ACC是:

介绍应用程序客户机容器

应用程序客户机容器(ACC)包括一组Java类, 库以及与一起分发所需的其他文件 在自己的Java虚拟机中执行的Java客户端程序 (JVM)。ACC管理Java EE应用程序客户端的执行 组件(应用程序客户端),用于访问各种 Java EE服务(如JMS资源、EJB组件、web 服务、安全性等)从Oracle外部的JVM GlassFish服务器。ACC通过以下方式与GlassFish服务器通信: RMI-IIOP协议,并管理RMI-IIOP通信的详细信息 使用与之捆绑的客户端ORB。与其他Java语言相比 EE集装箱,ACC重量轻。有关调试的信息,请参见 应用程序客户端,请参阅应用程序客户端调试

GlassFish Server开源版应用程序开发指南4.0版

另见:

客户端应用程序,ACC如何远程调用EJB模块


必须有一个配置。ACC是否从
jndi.properties
获取此信息?我找不到太多关于ACC使用的文档或示例。如果ACC不合适,那么,当然,我将使用不同的方法。大概有一种方法可以为ACC指定远程Glassfish服务器。

您打算如何部署应用程序

在我为ACC开发应用程序客户机的日子里,我习惯于将所有东西捆绑在一个EAR中(我仍然会这样做,因为这样更容易)

Glassfish部署工件,生成所需的配置(无论如何,您都可以覆盖application.xml中的配置)

ACC需要注意的一件事是远程连接所需的CORBA属性


当您从glassfish管理员下载客户端jar时,您将下载一个java webstart应用程序,该应用程序将根据需要下载所有必需的库,并自动从哪个主机设置配置(请确保正确设置glassfish域主机,否则这将是一个内部IP或本地主机)它是从下载的JWS应用程序下载的。

该应用程序非常适合部署,但这是领先一步。在此之前,本地ACC如何连接到远程glassfish?里面少了一步。那个部署场景正是我想要的,但它是一个绊脚石。ACC如何处理远程连接的CORBA属性?ACC不在glassfish中运行,而是在本地运行。无论您是在开发还是部署最明智的方法来实现这一点,而无需手动设置CORBA逻辑,都是让服务器为您完成。Netbeans可以在这方面提供很大帮助。我看到管理控制台有一个部署应用程序的选项。我可以把这个项目部署到远程glassfish吗?如果是这样,我没有意识到这是可能的。然后JWS应用程序将被正确配置。我应该部署什么?Netbeans创建了四个独立的JAR。有很多方法可以打包应用程序进行部署。在本例中,您将创建AntJavaEE项目,该项目将在其中生成模块,您还可以添加应用程序客户端。构建为ear,并部署在远程glassfish服务器上。从远程服务器访问应用程序客户端并下载到本地计算机,它将正确配置自身。只需确保域主机的设置正确即可。显然,
application.xml
部署描述符和
jndi.properties
“…包含用于连接到远程EJB容器的环境属性”--