读书人

Spring的RMI连接有关问题

发布时间: 2012-12-26 14:39:28 作者: rapoo

Spring的RMI连接问题

RMI 问题 1 背景:

??? < bean id = "rmiService" class = "org.springframework.remoting.rmi.RmiServiceExporter" >

??????? < property name = "serviceName" value = "IncomingService" />

??????? < property name = "service" ref = "incomingService" />

??????? < property name = "serviceInterface" value = "com.ffcs.ieiemp.ieie.rmi.Incoming" />

??????? < property name = "registryPort" value = "1099" />

</ bean >

替换为:

??? <bean id="registry" value="1099"/>

??? </bean>

??? < bean id = "incomingService" class = "com.ffcs.ieiemp.ieie.rmi.IncomingService" />

??? < bean id = "rmiService" class = "org.springframework.remoting.rmi.RmiServiceExporter" >

??????? < property name = "serviceName" value = "IncomingService" />

??????? < property name = "service" ref = "incomingService" />

??????? < property name = "serviceInterface" value = "com.ffcs.ieiemp.ieie.rmi.Incoming" />

??????? <!-- <property name="registryPort" value="1099"/> -->

??????? <property name="registry" ref="registry"/>

</ bean >

?

RMI 问题 2 背景:

这就是典型的服务器有多个 ip 引起的 rmi 连接问题。

RMI 问题 3 解决:

???????? 解决方法有三:

1.?????? 服务器端添加代码: System.setProperty("java.rmi.server.hostname" ,?"192.168.39.11" );

可写在全局监听器里成为全局变量。

2.? 在 RMI 服务器上 root 身份登录,输入 Vi /etc/hosts ,在第一行添加 192.168.39.11 ? ? ieie

3.? 若是用 spring, 则在 RmiServiceExporter 中添加属性 <property?name="registryHost" ?value="192.168.39.11" />

总结 :RMI固然好用,但得慎用,以上问题困扰甚久,终得解决:)

读书人网 >编程

热点推荐