2014-09-19 88 views
0

在Glassfish 4.x上的fighting passwords在Ubuntu 14.04 Tahr上远程执行后,我准备继续安装我的第一个远程EJB模块 - 只需确保我在正确的道路。从Netbeans示例Creating and Running an Application Client on the GlassFish Server开始,我将如何为EJB模块创建一个客户端,该模块部署为远程glassfish:通过应用程序客户端容器远程调用EJB模块

Netbeans示例假定Glassfish正在本地主机上运行。确切的机制对我来说不清楚,因为它没有明确地配置为本地主机。据推测,它的隐含配置为本地主机...

我想用ACC连接,而不是一个本地,而是远程 GlassFish服务器。用于上下文中,ACC是:

在介绍该申请客户机容器

中的应用客户机容器(ACC)包括一组所需要的,并与 分布式Java类, 库和其他文件的在他们自己的Java虚拟机中运行的Java客户机程序(JVM)。 ACC管理Java EE应用程序客户端 组件(应用程序客户端)的执行,这些组件(应用程序客户端)用于访问Java EE服务的各种 (例如JMS资源,EJB组件,web 服务,安全等等) Oracle GlassFish服务器外部的JVM。 ACC使用 RMI-IIOP协议与GlassFish服务器进行通信,并使用与其捆绑在一起的客户端ORB管理RMI-IIOP通信的详细信息 。与其他Java EE容器相比,ACC非常轻便。有关调试 应用程序客户端的信息,请参阅应用程序客户端调试。

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

还看到:

https://stackoverflow.com/questions/25830149/how-to-package-a-stand-alone-remote-ejb-application-client

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

必须有一个配置。行政协调会从jndi.properties中挑选这个吗?我无法找到有关ACC使用情况的大量文档或示例。如果ACC不合适,那么当然,我会用不同的方法。据推测,有一种方法可以为ACC指定一个远程Glassfish服务器。

+0

显然是'application.xml'部署描述符和'jndi.properties'“...包含连接到远程EJB容器的环境 属性” - http://www.coderanch.com/t/591423/EJB-JEE/java/application-client-invoke-ejb-eclipse – Thufir 2014-09-19 07:30:08

回答

1

你打算如何部署你的应用程序?

在我用来为ACC开发应用程序客户端的日子里,我曾经把所有东西都捆绑在一个EAR中(我仍然会这么做,因为它更容易)。

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

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

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

+0

下载的JWS应用程序非常适合部署,但这是领先一步。在此之前,当地的ACC如何连接远程glassfish?那里有一个缺失的步骤。这种部署方案正是我所追求的,但它是一个前兆,它是一个绊脚石。 ** ACC如何处理远程连接的CORBA属性? – Thufir 2014-09-19 07:20:57

+1

ACC不在glassfish中运行,它在本地运行。无论您是在开发还是部署最为理智的方式来执行此操作,都不需要手动配置CORBA逻辑,而是让服务器为您执行此操作。 Netbeans可以帮助解决这个问题。 – maress 2014-09-19 11:57:32

+0

我看到管理控制台有一个用于部署应用程序的选项。我可以将这个项目部署到远程glassfish上?如果是这样,我不知道这是可能的。然后JWS应用程序将被正确配置。我要部署什么? Netbeans创建了四个独立的JAR。 – Thufir 2014-09-19 17:54:38