怎么在Spring环境下使用RMI
短信预约 -IT技能 免费直播动态提醒
本篇内容介绍了“怎么在Spring环境下使用RMI”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在Spring环境使用RMI时,可以省略以下几点:
接口类不需要继承Remote,方法不需要抛出RemoteException异常对象。
实现类不需要继承UnicastRemoteObject。
RMI服务自动注册。
下面通过具体的例子来说明其用法。
一、导出RMI服务
bean的配置
Xml代码
<beans> <bean id="syncServiceImpl" class="com.cjm.service.rmi.SyncServiceImpl" /> <bean id="syncServiceProxy" class="com.cjm.service.rmi.SyncServiceRMIExporter"> <property name="service"> <ref bean="syncServiceImpl" /> property> <property name="serviceName"> <value>hawkeyeServicevalue> property> <property name="serviceInterface"> <value>com.cjm.service.rmi.SyncServicevalue> property> <property name="servicePort"> <value>1099value> property> <property name="registryPort"> <value>1099value> property> bean> beans>
类源码
Java代码
public class SyncServiceRMIExporter extends RmiServiceExporter{ public SyncServiceRMIExporter() { //通过系统属性设置RMI的hostname System.setProperty("java.rmi.server.hostname", "localhost"); } }
Java代码
//RMI服务接口类 public interface SyncService{ public boolean updateMonicaSiInfos(String oldInfo, String newInfo); }
Java代码
public class SyncServiceImpl implements SyncService { @Override public boolean updateMonicaSiInfos(String oldInfo, String newInfo) { oldInfo = StringUtils.trimToEmpty(oldInfo); newInfo = StringUtils.trimToEmpty(newInfo); if (StringUtils.isEmpty(newInfo)) { return false; } ...... logger.warn("成功: oldInfo=" + oldInfo + ", newInfo=" + newInfo); return true; } }
二、调用RMI服务
bean的配置
Xml代码
<beans> <bean id="serviceImpl" class="RMIServiceImpl"> <property name="syncService" ref="hawkeyeService"/> bean> <bean id="hawkeyeService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean"> <property name="serviceUrl"> <value>rmi://localhost:1099/hawkeyeServicevalue> property> <property name="serviceInterface"> <value>com.cjm.service.rmi.SyncServicevalue> property> bean> beans>
类源码
Java代码
public class RMIServiceImpl { private SyncService syncService; public SyncService getSyncService() { return syncService; } public void setSyncService(SyncService syncService) { this.syncService = syncService; } public void doAction(String oldValue, String newValue)throws Exception{ boolean b = syncService.updateMonicaSiInfos(oldValue, newValue); if(b){ System.out.println("RMI调用成功"); }else{ System.out.println("RMI调用失败"); } } }
“怎么在Spring环境下使用RMI”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341