Spring RMI 学习

 服务端:

1首先建立一个业务实体com.spring.openv.PersonVo
 
package com.spring.openv;
 
import java.io.Serializable;
 
 
public class PersonVo implements Serializable{
 
 
    private String firstName;
 
    private String lastName;
 
 
    public void setFristName(String firstName){
 
       this.firstName = firstName;
 
    }
 
 
    public String getFristName(){
 
       return this.firstName;
 
    }
 
 
    public void setLastName(String lastName){
 
       this.lastName = lastName;
 
    }
 
 
    public String getLastName(){
 
       return this.lastName;
 
    }
 
}
 
2其次新建一个业务实体com.spring.openv. LogPersonClient及它提供的接口com.spring.openv. ILogPerson
 
package com.spring.openv;
 
public interface ILogPerson {
 
    public String getPerson(PersonVo personVo);
 
}
 
package com.spring.openv;
 
 
public class LogPerson implements ILogPerson {
 
 
       public String getPerson(PersonVo personVo) {
 
              return personVo.getFristName() + "." + personVo.getLastName();
 
       }
 
 
}
 
3,最后也是最关键的部分通过服务端spring来管理Rmi。
 
<beans>
 
 
    <bean id="logPerson" class="com.spring.openv.LogPerson"></bean>
 
    <!—上面配置业务实体-->
 
 
    <!—下面配置rmi服务端的配置-->
 
    <bean id="logPersonService"
 
       class="org.springframework.remoting.rmi.RmiServiceExporter">
 
    <!—rmi需要引用类org.springframework.remoting.rmi.RmiServiceExporter -->
 
<!— 服务配置:此配置说明了要发布那个实体为rmi实体(即那个实体要提供给客户端调用) -->
 
       <property name="service">
 
           <ref bean="logPerson" />
 
       </property>
 
<!— 服务端名称:说明客户端以通过那个服务名字来获取服务 -->
 
       <property name="serviceName">
 
           <value>LogPerson</value>
 
       </property>
 
<!— 服务端接口:即提供给客户端调用那个实体的接口-->
 
       <property name="serviceInterface">
 
           <value>com.spring.openv.ILogPerson</value>
 
       </property>
 
<!— 服务端口 -->
 
       <property name="registryPort">
 
           <value>1200</value>
 
       </property>
 
    </bean>
 
</beans>
 
客户端:
 
1首先建立测试远程服务的测试类com.spring.openv.LogPersonClient
 
public class LogPersonClient {
 
       protected static final Log log = LogFactory.getLog(LogPersonClient.class);
 
 
       public static void main(String[] args) {
 
              ClassPathResource resource = new ClassPathResource(
 
                            "applicationContext.xml");
 
              BeanFactory beanFactory = new XmlBeanFactory(resource);
 
              PersonVo personVo = new PersonVo();
 
              personVo.setFristName("Wang");
 
              personVo.setLastName("XiaoGuang");
 
              ILogPerson iLogPerson = (ILogPerson) beanFactory.getBean("logPerson");
 
              log.info(iLogPerson.getPerson(personVo));
 
       }
 
}
 
2其次通过客户端spring的配置文件获取rmi远程服务
 
<beans>
 
<!— 获取rmi服务工程代理类:通过这个代理类spring可以获取rmi远程对象 -->
 
    <bean id="logPerson"
 
       class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
 
<!— 获取rmi服务端url -->
 
       <property name="serviceurl">
 
           <value>rmi://localhost:1200/LogPerson</value>
 
       </property>
 
<!—serviceInterface即获取服务端对象后要转化的服务端接口 -->
 
       <property name="serviceInterface">
 
           <ref bean="com.spring.openv.ILotPerson" />
 
       </property>
 
    </bean>
 
</beans>
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值