您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“怎么在Spring環(huán)境下使用RMI”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
在Spring環(huán)境使用RMI時,可以省略以下幾點:
1、接口類不需要繼承Remote,方法不需要拋出RemoteException異常對象。
2、實現(xiàn)類不需要繼承UnicastRemoteObject。
3、RMI服務(wù)自動注冊。
下面通過具體的例子來說明其用法。
一、導出RMI服務(wù)
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() { //通過系統(tǒng)屬性設(shè)置RMI的hostname System.setProperty("java.rmi.server.hostname", "localhost"); } }
Java代碼
//RMI服務(wù)接口類 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; } }
二、調(diào)用RMI服務(wù)
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調(diào)用成功"); }else{ System.out.println("RMI調(diào)用失敗"); } } }
“怎么在Spring環(huán)境下使用RMI”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。