java 客户程序和服务器运行在不同的主机上,在客户端 JVM 设 置系统属性 -Dorg.omg.CORBA.ORBInitialHost。例如,假设服务器运行在 主机 com.acme.Host1: java -Dorg.omg.CORBA.ORBInitialHost=com.acme.Host1 -classpath $APS_HOME/lib/appserv-rt.jar:$APS_HOME/lib/javaee.jar:/home/us er1/myclasses acme.MyClient 该属性的默认值是 localhost,所以如果客户端的服务器运行在同一个主机上, 就不需要设这个属性。
如果必要的话,设置命名服务端口属性: 步骤 5. 如果必要的话,设置命名服务端口属性:
应用服务器中默认的命名服务端口是 3700。 如果命名服务运行在别地端口, 你就需要在启动客户端 JVM 时设这个
系统属性: -Dorg.omg.CORBA.ORBInitialPort。如果要核查一个服务器实例上的命名服 务端口,只需看一下该服务器实例的 domain.xml 中的 "orb-listener-1" 元 素。或者也可以在 Amin GUI 中查看 Applications --> Configuration --> ORB --> IIOP Listeners --> orb-listener-1。 假设服务器的命名服务运行在端口 9876,客户端和服务器运行在同一个主机 上: java -Dorg.omg.CORBA.ORBInitialPort=9876 -classpath $APS_HOME/lib/appserv-rt.jar:$APS_HOME/lib/javaee.jar:/home/us er1/myclasses acme.MyClient
单立的 java 客户程 序是不是可移植的? 序是不是可移植的?
它和应用程序客户机 (Application Client)组件有什么 ) 区别? 区别
Java EE 平台专门定义、
设计了一种组件,从应用服务器以外的 JVM 来可移 植地访问 Java EE 服务。它叫作 Java EE 应用程序客户机(Java EE Application Client)。它自从 J2EE 首次发布(J2EE 1.2)就是 J2EE 开台 的一部分。 和其它 Java EE 组件一样,它也是运行在开发商实现提供的容 器中。应用
程序客户机的主要优势是可移植性,让你使
用与 web 和 ejb 组件 相同的编程模式来定义、访问资源。它沿袭了
Java EE 平台的一贯思路,那就 是系统层次的
工作,或 "plumbing" ,应该尽可能让容器来实现,而不应该成 为应用程序一部分。就也就意味着,可以放心使用无参数的 InitialContext 构 造方法,和一个私有的组件命名上下文 (java:comp/env) ,而且在 Java EE 5 中还可以使用平台定义的注释和注射。 开发员面临的一个共同的问题就是如何在一个访问 EJB 的客户中初始化命名 上下文。如果该客户没有写成应用程序客户机,那它就被叫作单立的 Java 客 户程序。这些单立的 java 客户程序本质上就不是可移植的,所以每个开发商 都定义了自己的方法来引导启动命名服务。这不仅让写客户程序更困难,而且在 不同的 Java EE 实现之间移植应用时也会有问题。 和所有的 Java EE 组件一样,需要一些额外的步骤来实现应用程序客户机所提 供的可移植性。例如,定义一个部署描述符(deployment descriptor),包 装应用客户.jar 文件,以及学习运行应用程序客户机容器。不过,这些步骤在 Java EE 5 和 SUN 公司的 Java EE 5 实现中已经被简化了。 关于应用程序客户机的更多细节,请看: Java EE 5 tutorial 第 22 章 (开始
学习 EJB) 简单的 EJB 3.0 session / message-driven bean
源代码示例 我们的开发员指南中的客户章节
从 java 客户程序访 问 EJB 是不是需要 RMI stubs?
在我们的 J2EE 1.4 SDK 和 Java EE 5 SDK 实现中 (Sun Java System Application Server 8.x, 9.x) 不需要。我们的实现中用到了动态 RMI-IIOP 的性能, 它能在运行时产生所需要的 RMI stub, 应用程序完全不知道这些细节。 这使得部署起来更快,而且避免了许多把静态 stub 加到客户中引起的配置问 题。不过,动态 RMI-IIOP 性能只有当客户使用应用服务器的命名服务提供者 时才生效。如果客户是单立的 java 程序,那就要按这里的步骤,或改用应用 程序客户机。
如果已有一个单立的 java 客户程序, 客户程序, 通过 Co