读书人

利用spring兑现Hession

发布时间: 2012-09-04 14:19:30 作者: rapoo

利用spring实现Hession
hession是一种轻量级的远程服务,hession是借助二进制消息实现服务器端与客户端的交互。
利用spring实现过程
首先创建服务器端,导入spring所需要的jar和hession对应的jar。
首先创建远程传递的参数类
package com.spring.pojo;

import java.io.Serializable;

/**
* 该类主要用于RMI参数的传递
* @author zhy
*
*/
public class PersonVo implements Serializable {

private String firstName;

private String lastName;

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}
}
然后创建服务远程接口
package com.spring.inter;

import com.spring.pojo.PersonVo;

/**
* 定义远程访问接口,供导出远程服务使用
* @author zhy
*
*/
public interface ILogPersion {

public Object getPersion(PersonVo persionVo);

}
接着定义远程服务接口的实现类
package com.spring.inter.imp;

import com.spring.inter.ILogPersion;
import com.spring.pojo.PersonVo;

public class LogPersion implements ILogPersion {

public Object getPersion(PersonVo persionVo) {
return persionVo;
}
}
接着配置服务端spring 配置文件
applicationContext.xml
<bean id="logPerson" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl">
<value>http://localhost/SpringLearning/remote/logPersonHessian</value>
</property>

<property name="serviceInterface">
<value>com.spring.inter.ILogPersion</value>
</property>
</bean>
最后编写客户端测试代码
public static void main(String[] args) {
Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);

PersonVo vo = new PersonVo();
vo.setFirstName("z");
vo.setLastName("hy");

ILogPersion person = (ILogPersion)factory.getBean("LogPerson");
System.out.println( ((PersonVo)person.getPersion(vo)).getFirstName());
}

读书人网 >编程

热点推荐