使用此页面配置 Java 对象请求代理(ORB)服务。
要查看此管理控制台页面,单击服务器 > 应用程序服务器 > 服务器名 > ORB 服务。
有几个设置可用于控制内部对象请求代理(ORB)处理。在应用程序包含企业 bean 的情况下,您可使用这些设置改进应用程序性能。您可为缺省服务器或在管理域中配置的任何应用程序服务器更改这些设置。
“配置”选项卡
对于使用命令行脚本编制,此系统属性的全名为 com.ibm.CORBA.RequestTimeout。
| 数据类型 | int |
| 单位 | 秒 |
| 缺省 | 180 |
| 范围 | 0 到 300 |
对于使用命令行脚本编制,此系统属性的全名为 com.ibm.CORBA.requestRetriesCount。
| 数据类型 | int |
| 缺省 | 1 |
| 范围 | 1 到 10 |
对于使用命令行脚本编制,此系统属性的全名为 com.ibm.CORBA.requestRetriesDelay。
| 数据类型 | int |
| 单位 | 毫秒 |
| 缺省 | 0 |
| 范围 | 0 到 60 |
对于使用命令行脚本编制,此系统属性的全名为 com.ibm.CORBA.MaxOpenConnections。
| 数据类型 | 整型 |
| 单位 | 连接 |
| 缺省 | 240 |
| 数据类型 | 整型 |
| 单位 | 连接 |
| 缺省 | 100 |
这个设置影响两个系统属性:com.ibm.CORBA.Debug 和 com.ibm.CORBA.CommTrace。如果您通过命令行脚本编制设置这些属性,则您必须设置两个都为真以启用跟踪 GIOP 消息。
| 数据类型 | Boolean |
| 缺省 | 不启用(假) |
对于使用命令行脚本编制,此系统属性的全名为 com.ibm.CORBA.LocateRequestTimeout。
| 数据类型 | int |
| 单位 | 秒 |
| 缺省 | 180 |
| 范围 | 0 到 300 |
对于直接访问,此属性的全名为 com.ibm.CORBA.ForceTunnel。
| 数据类型 | String |
| 缺省 | NEVER |
| 范围 | 有效值是总是、从不或请求时。 |
关于有效值的其它信息如下所示:
必须是正确格式的 URL,如 http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet 或,对于 applet,http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet。 如果设置了 HTTP 隧道穿越,此字段是必需的。
对于使用命令行脚本编制,此系统属性的全名为 com.ibm.CORBA.TunnelAgentURL。
如果 EJB 客户机和 EJB 服务器安装在相同的 WebSphere Application Server 实例上,客户机和服务器使用远程接口,启用按引用传递可以改进性能多达 50%。仅当非原语对象类型作为参数传递时,按引用传递才有助于性能。因此,整型和浮点总是复制,无论调用模型是什么。
启用此属性要特别注意,因为可能发生意外行为。如果对象引用由远程方法修改,则调用者可能更改。
对于使用命令行脚本编制,此系统属性的全名为 com.ibm.CORBA.iiop.noLocalCopies。
| 数据类型 | Boolean |
| 缺省 | 未启用(false) |
此选项对于带有远程接口的企业 bean 的使用违反 EJB 规范 V2.0(请参阅 5.4 节)。不复制传递到 EJB 方法或 EJB 起始对象方法的对象引用,并且可能导致破坏。
考虑以下示例:
Iterator iterator = collection.iterator();
MyPrimaryKey pk = new MyPrimaryKey();
while (iterator.hasNext()) {
pk.id = (String) iterator.next();
MyEJB myEJB = myEJBHome.findByPrimaryKey(pk);
}
本示例中,对相同 MyPrimaryKey 对象的引用每次都传递到有不同标识值的 WebSphere Application Server。启用按引用传递运行此代码导致应用程序服务器内的问题,这是因为多个企业 bean 正在引用相同的 MyPrimaryKey 对象。要避免发生此问题,当启用按引用传递时设置系统属性 com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation 为 true。将按引用传递设置为 true 导致 EJB 容器制作 PrimaryKeycauses 对象的本地副本。但结果是会丢失一小部分按引用传递的设置的性能优势。
作为一般规则,作为参数传递到企业 bean 方法或 EJB 起始对象方法的对象引用的任何应用程序代码必须仔细检查,以确定传递该对象引用是否会导致损失数据完整性或其它问题。