服务端配置:
<!-- 服务端 -->
<bean id="实现类编号" class="接口实现类全路径名"/>
<bean id="serviceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="serviceInterface" value="接口全路径名"/>
<property name="service" ref="实现类编号"/>
<property name="serviceName" value="服务名称"/><!-- 发布的服务名 -->
<property name="registryPort" value="1199 "/><!-- 发布的端口号 -->
</bean>
客户端配置:
<!-- 客户端 --> <bean id="exchangeResult" class="org.springframework.remoting.rmi.RmiProxyFactoryBean" lazy-init="true"> <property name="serviceUrl" value="rmi://服务端IP:服务端Port/服务名称"/> <property name="serviceInterface" value="接口全路径名"/> </bean>
注意:
1、使用 RMI 时,服务端和客户端使用的接口必须保证其全路径名一直,不然调用会报错;
2、当部署在多网卡的电脑上时,需在启动应用服务器前,添加启动参数。
Tomact 在 Linux 环境下,需在启动脚本 catalina.sh 中添加:
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.232"
启动后,如果出现下面日志信息,请检查标红处的IP是否是你需要绑定的IP地址(RMI registry: RegistryImpl[UnicastServerRef [liveRef: [endpoint:[192.168.1.232:1199](local),objID:[0:0:0, 0]]]])
3、在特殊的Linux版本中,如果绑定失败,也要向第二点中所说的一样处理;
本文详细介绍了使用RMI进行服务端和客户端配置的方法,包括如何设置服务端类、服务导出、服务名、发布端口,以及客户端如何通过RmiProxyFactoryBean进行配置。同时强调了接口全路径名一致性的重要性,并提供了特殊场景下处理IP绑定的指导。
866

被折叠的 条评论
为什么被折叠?



