自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Spring環(huán)境下使用RMI

開(kāi)發(fā) 后端
RMI是Java的一組擁護(hù)開(kāi)發(fā)分布式應(yīng)用程序的API。RMI使用Java語(yǔ)言接口定義了遠(yuǎn)程對(duì)象,它集合了Java序列化和Java遠(yuǎn)程方法協(xié)議(Java Remote Method Protocol)。

在Spring環(huán)境使用RMI時(shí),可以省略以下幾點(diǎn):

1、接口類(lèi)不需要繼承Remote,方法不需要拋出RemoteException異常對(duì)象。

2、實(shí)現(xiàn)類(lèi)不需要繼承UnicastRemoteObject。

3、RMI服務(wù)自動(dòng)注冊(cè)。

下面通過(guò)具體的例子來(lái)說(shuō)明其用法。

一、導(dǎo)出RMI服務(wù)

1、bean的配置

Xml代碼

  1. <beans>    
  2.     <bean id="syncServiceImpl" class="com.cjm.service.rmi.SyncServiceImpl" />    
  3.          
  4.     <bean id="syncServiceProxy" class="com.cjm.service.rmi.SyncServiceRMIExporter">    
  5.         <property name="service">    
  6.             <ref bean="syncServiceImpl" />     
  7.         property>    
  8.         <property name="serviceName">    
  9.             <value>hawkeyeServicevalue>     
  10.         property>    
  11.         <property name="serviceInterface">    
  12.             <value>com.cjm.service.rmi.SyncServicevalue>     
  13.         property>    
  14.         <property name="servicePort">    
  15.             <value>1099value>    
  16.         property>    
  17.         <property name="registryPort">    
  18.             <value>1099value>     
  19.         property>    
  20.     bean>    
  21. beans>    

 

 

 

 

2、類(lèi)源碼

Java代碼

  1. public class SyncServiceRMIExporter extends RmiServiceExporter{     
  2.     public SyncServiceRMIExporter() {     
  3.         //通過(guò)系統(tǒng)屬性設(shè)置RMI的hostname     
  4.         System.setProperty("java.rmi.server.hostname""localhost");      
  5.     }     

Java代碼

  1. //RMI服務(wù)接口類(lèi)     
  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. }    

二、調(diào)用RMI服務(wù)

1、bean的配置

Xml代碼

  1. <beans>        
  2.     <bean id="serviceImpl" class="RMIServiceImpl">    
  3.         <property name="syncService" ref="hawkeyeService"/>    
  4.     bean>    
  5.          
  6.     <bean id="hawkeyeService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">             
  7.         <property name="serviceUrl">                 
  8.             <value>rmi://localhost:1099/hawkeyeServicevalue>              
  9.         property>             
  10.         <property name="serviceInterface">                 
  11.             <value>com.cjm.service.rmi.SyncServicevalue>               
  12.         property>         
  13.     bean>    
  14. beans>    

 

 

 

 

2、類(lèi)源碼

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調(diào)用成功");     
  16.         }else{     
  17.             System.out.println("RMI調(diào)用失敗");     
  18.         }     
  19.     }     
  20. }    
責(zé)任編輯:金賀 來(lái)源: JavaEye博客
相關(guān)推薦

2009-01-03 14:39:04

ibmdwDojoMVC

2015-06-01 12:10:57

dockerhexo

2010-04-19 15:11:25

Unix操作系統(tǒng)

2024-02-23 10:11:00

虛擬化技術(shù)

2021-05-11 00:08:00

JavaRMI 分布式

2009-11-06 10:05:18

Linux系統(tǒng)環(huán)境GFS

2009-12-10 09:42:07

2011-09-01 19:06:57

UbuntuLua安裝環(huán)境

2013-01-24 09:29:16

2009-07-26 20:22:03

SuSE 10.2JDK下載JDK環(huán)境

2011-01-14 11:27:02

Linux制作網(wǎng)頁(yè)

2018-02-28 14:04:08

RMIJDBC存儲(chǔ)

2020-05-22 08:52:08

LinuxPython工具

2010-04-12 09:07:09

Make命令

2009-11-27 14:08:18

2010-06-02 11:02:01

SVN開(kāi)發(fā)環(huán)境

2009-06-12 17:50:45

Linux下JDK+J

2010-09-17 11:01:05

Java運(yùn)行環(huán)境

2009-07-17 17:39:35

在NetBeans環(huán)境

2010-09-25 09:31:27

EclipseAndroid
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)