BLUF:尝试将独立客户端连接到 WebSphere 中的 Extreme Scale 缓存时,我收到了一个异常,这有点误导,所以我在这里提供了解决方案。
我在 WebSphere Application Server (WAS) v8.5 中成功安装了 WebSphere Extreme Scale (WXS) v8.5(注意:不要尝试在 Installation Manager 中同时这样做,否则文件将会丢失——单独安装它们)。我还成功安装了客户端和服务器 EAR,因此我可以对客户端使用 REST 服务,而客户端又会连接到服务器以访问缓存。但是,当我尝试从 java 命令行(或从 Eclipse 中)运行独立客户端时,我遇到了以下异常:
java.lang.Throwable: org.omg.CORBA.TRANSIENT: initial and forwarded IOR inaccessible vmcid: IBM minor code: E07 completed: No
at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1272)
...
Caused by: java.lang.Throwable: connect: Address is invalid on local machine, or port is not valid on remote machine
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:381)
在 ObjectGridManager 上调用 connect 时:
_client = _ogManager.connect(hostport, null, clientObjectGridURL);
首先要检查的是 objectGridClient.properties 文件中的主机和端口号是否正确(例如,端口号将与应用程序服务器的端口列表中的 BOOTSTRAP 端口匹配)。就我而言,这是正确的。使用 netstat -an |grep 查看是否有人在监听端口,或者 telnet 到主机端口。
接下来要检查的是防火墙没有妨碍到端口的连接。服务器也有对客户端的回调,因此您需要检查这是否没有造成问题。就我而言,这不是问题。