Java的RMI技術使用起來比較麻煩
通過Spring的RMI支持
下面是之前一篇《Java RMI之HelloWorld篇》文章的基礎上
環境
spring
所用的第三方包優先從Spring的lib包中獲取
所依賴的jar包
一
第一服務接口
package lavasoft
/**
* 定義一個遠程接口
*
* @author leizhimin
*/
public interface HelloService {
/**
* 簡單的返回
*
* @return 返回
*/
public String helloWorld();
/**
* 一個簡單的業務方法
*
* @param someBodyName 人名
* @return 返回相應的問候語
*/
public String sayHelloToSomeBody(String someBodyName);
}
服務實現類
package lavasoft
/**
* 遠程的接口的實現
*
* @author leizhimin
*/
public class HelloServiceImpl implements HelloService {
public HelloServiceImpl() {
}
/**
* 簡單的返回
*
* @return 返回
*/
public String helloWorld() {
return
}
/**
* 一個簡單的業務方法
*
* @param someBodyName 人名
* @return 返回相應的問候語
*/
public String sayHelloToSomeBody(String someBodyName) {
return
}
}
Spring配置rmi服務
<?xml version=
<!DOCTYPE beans PUBLIC
<beans>
<bean id=
<bean id=
<property name=
<!
<property name=
<property name=
<property name=
</bean>
</beans>
服務端測試
package lavasoft
import orgntext
import orgntext
/**
* 通過Spring發布RMI服務
*
* @author leizhimin
*/
public class HelloHost {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
System
}
}
啟動後如圖所示
二
客戶端調用有兩種方式
在Spring中配置客戶端要調用服務
<?xml version=
<beans
xmlns=
xmlns:xsi=
xsi:schemaLocation=
<bean id=
<property name=
<property name=
</bean>
<bean id=
<property name=
</bean>
</beans>
客戶端測試代碼
package lavasoft
import orgntext
import orgntext
import java
/**
* 通過Spring來調用RMI服務
*
* @author leizhimin
*/
public class HelloClient {
private HelloService helloService;
public static void main(String[] args) throws RemoteException {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
HelloService hs = (HelloService) ctx
System
System
}
public void setHelloService(HelloService helloService) {
this
}
}
運行結果
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28662.html