您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么在Spring環境下使用RMI”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在Spring環境使用RMI時,可以省略以下幾點:
1、接口類不需要繼承Remote,方法不需要拋出RemoteException異常對象。
2、實現類不需要繼承UnicastRemoteObject。
3、RMI服務自動注冊。
下面通過具體的例子來說明其用法。
一、導出RMI服務
1、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>
2、類源碼
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服務
1、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>
2、類源碼
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”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。