关于Linux上RMI的问题

caileionly 2003-10-18 08:30:58
以下现象中的rmi server 和 client代码均一样。
现象一:
在一台redhat linux 9主机上起了一个rmi server,在windows上的rmi client可以连接,在本机的rmi client无法连接,显示异常:
Failed to connect to 127.0.0.1:1099
javax.naming.CommunicationException: Failed to retrieve stub from server 127.0.0.1:1099. Root exception is
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2163)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2634)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
at com.zte.appserver.naming.interfaces.GlobeNamingContext.getServer(GlobeNamingContext.java:159)
at com.zte.appserver.naming.interfaces.GlobeNamingContext.checkRef(GlobeNamingContext.java:1310)
at com.zte.appserver.naming.interfaces.GlobeNamingContext.lookup(GlobeNamingContext.java:701)
at com.zte.appserver.naming.interfaces.GlobeNamingContext.lookup(GlobeNamingContext.java:519)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.zte.ums.uep.psf.jms.JMSAbstractAsynConsumer.createConsumer(JMSAbstractAsynConsumer.java:388)
at com.zte.ums.uep.psf.jms.JMSAbstractAsynConsumer.start(JMSAbstractAsynConsumer.java:233)
at com.zte.ums.uep.wsf.finterface.WsfMsgDispatcher.subscribe(WsfMsgDispatcher.java:181)
at com.zte.ums.uep.wsf.fm.alarmpool.AlarmPool.initAlarmPool(AlarmPool.java:90)
at com.zte.ums.uep.wsf.fm.WsfFm.startService(WsfFm.java:63)
at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:164)
at com.zte.ums.uep.psf.sysmanager.BaseService.start(BaseService.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:967)
at $Proxy6.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:396)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
at $Proxy3.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:249)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:802)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:564)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at com.zte.ums.uep.wsf.mainframe.controller.MBeanManager.delpoy(MBeanManager.java:52)
at com.zte.ums.uep.wsf.mainframe.controller.MFManager.resourcesInit(MFManager.java:317)
at com.zte.ums.uep.wsf.mainframe.controller.MFManager.access$000(MFManager.java:54)
at com.zte.ums.uep.wsf.mainframe.controller.MFManager$1.run(MFManager.java:227)
at java.lang.Thread.run(Thread.java:536)

现象二:
在另一台redhat linux 9上起了一个rmi server,本机的rmi client可以链上,但windows的rmi client无法链上,异常:
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:567)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:101)
at com.zte.appserver.naming.server.GlobeNamingServer_Stub.lookup(GlobeNamingServer_Stub.java:176)
at com.zte.appserver.naming.interfaces.GlobeNamingContext.lookup(GlobeNamingContext.java:714)
... 32 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562)
... 37 more

另外:在windows上起rmi server时,一切正常。
初步分析可能是两台linux主机上起了某种服务和socket冲突了,请专家们给点意见!
...全文
159 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧