在Spring环境下使用RMI
创始人
2024-07-24 08:40:55
0

在Spring环境使用RMI时,可以省略以下几点:

1、接口类不需要继承Remote,方法不需要抛出RemoteException异常对象。

2、实现类不需要继承UnicastRemoteObject。

3、RMI服务自动注册。

下面通过具体的例子来说明其用法。

一、导出RMI服务

1、bean的配置

Xml代码

  1.     
  2.         
  3.          
  4.         
  5.             
  6.                  
  7.         property>    
  8.             
  9.             hawkeyeServicevalue>     
  10.         property>    
  11.             
  12.             com.cjm.service.rmi.SyncServicevalue>     
  13.         property>    
  14.             
  15.             1099value>    
  16.         property>    
  17.             
  18.             1099value>     
  19.         property>    
  20.     bean>    
  21. beans>    

 

 

 

 

2、类源码

Java代码

  1. public class SyncServiceRMIExporter extends RmiServiceExporter{     
  2.     public SyncServiceRMIExporter() {     
  3.         //通过系统属性设置RMI的hostname     
  4.         System.setProperty("java.rmi.server.hostname", "localhost");      
  5.     }     

Java代码

  1. //RMI服务接口类     
  2. public interface SyncService{     
  3.     public boolean updateMonicaSiInfos(String oldInfo, String newInfo);     

Java代码

  1. public class SyncServiceImpl implements SyncService {     
  2.     @Override    
  3.     public boolean updateMonicaSiInfos(String oldInfo, String newInfo) {     
  4.         oldInfo = StringUtils.trimToEmpty(oldInfo);     
  5.         newInfo = StringUtils.trimToEmpty(newInfo);     
  6.     
  7.         if (StringUtils.isEmpty(newInfo)) {     
  8.             return false;     
  9.         }     
  10.              
  11.         ......     
  12.              
  13.         logger.warn("成功: oldInfo=" + oldInfo + ", newInfo=" + newInfo);     
  14.         return true;     
  15.     }     
  16. }    

二、调用RMI服务

1、bean的配置

Xml代码

  1.         
  2.         
  3.             
  4.     bean>    
  5.          
  6.                  
  7.                          
  8.             rmi://localhost:1099/hawkeyeServicevalue>              
  9.         property>             
  10.                          
  11.             com.cjm.service.rmi.SyncServicevalue>               
  12.         property>         
  13.     bean>    
  14. beans>    

 

 

 

 

2、类源码

Java代码

  1. public class RMIServiceImpl {     
  2.     private SyncService syncService;     
  3.     
  4.     public SyncService getSyncService() {     
  5.         return syncService;     
  6.     }     
  7.     
  8.     public void setSyncService(SyncService syncService) {     
  9.         this.syncService = syncService;     
  10.     }     
  11.          
  12.     public void doAction(String oldValue, String newValue)throws Exception{     
  13.         boolean b = syncService.updateMonicaSiInfos(oldValue, newValue);     
  14.         if(b){     
  15.             System.out.println("RMI调用成功");     
  16.         }else{     
  17.             System.out.println("RMI调用失败");     
  18.         }     
  19.     }     
  20. }    

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...