服务端配置:
<!-- 服务端 --> <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版本中,如果绑定失败,也要向第二点中所说的一样处理;