Spring 企业级开发应用---------rmi和spring的整合的应用
使用spring和rmi开发远程服务的类的应用(此处可以一般的应用程序或web应用程序)
步骤:
? 1。创建服务端服务的接口的和实现类的应用
? 2。在spring的配置文件中必须配置rmi的信息
? 3。发布和部署rmi和spring整合的服务信息。
? 4。客户端访问的服务
开始开发远程服务信息:
? 服务接口:
?
?
package cn.com.huawei.rmi.service;
import java.util.List;
/**
?*k开发服务接口类?
?* @author bailonggang
?* 2009-3-16
?* 下午11:34:20
?*/
public interface IUserService {
? public List getUsernames();
}
?
package cn.com.huawei.rmi.service.impl;
import java.util.ArrayList;
import java.util.List;
import cn.com.huawei.rmi.service.IUserService;
/**
?* 开发服务接口实现类的
?* @author bailonggang
?* 2009-3-16
?* 下午11:35:45
?*/
public class UserService? implements? IUserService{
?? public List getUsernames()
?? {
???? List<String> usernames=new ArrayList<String>();
???? usernames.add("xiaobai");
???? usernames.add("xiaoli");
???? return usernames;
?? }
}
?
服务端的spring的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?xsi:schemaLocation="http://www.springframework.org/schema/beans????? <!--??</property>
??<!--<beans xmlns="http://www.springframework.org/schema/beans"
?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?xsi:schemaLocation="http://www.springframework.org/schema/beans??</property>
?</bean>
?<!--?
?? 远程服务的代理类的
? -->
?<bean id="proxyuserservice"
??class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
??<!-- 远程服务的url -->
??<property name="serviceUrl">
???<value>
???rmi://${serverName}:${rmiPort}/${serviceName}
???</value>
??</property>
??<!-- 远程服务的接口类的 -->
??<property name="serviceInterface">
???<value>cn.com.huawei.rmi.service.IUserService</value>
??</property>
?</bean>
</beans>
?
?
客户端服务调用远程服务类
package cn.com.huawei.rmi.client;
import java.util.List;
import cn.com.huawei.rmi.service.IUserService;
/**
?* 客户端服务类的
?* @author bailonggang
?* 2009-3-16
?* 下午11:43:27
?*/
public class RMIClient {
?private IUserService userservice;
?public IUserService getUserservice() {
??return userservice;
?}
?public void setUserservice(IUserService userservice) {
??this.userservice = userservice;
?}
?public List getUsernames() {
??return this.userservice.getUsernames();
?}
}
?
部署发布,即可。