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="com.spring.inter.imp.LogPersion"/>
remote-servlet.xml
<bean name="/logPersonHessian" class="org.springframework.remoting.caucho.HessianServiceExporter">
<property name="service">
<ref bean="logPerson"/>
</property>
<property name="serviceInterface">
<value>com.spring.inter.ILogPersion</value>
</property>
</bean>
最后配置web.xml文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>remote</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remote</servlet-name>
<url-pattern>/remote/*</url-pattern>
</servlet-mapping>
接下来搭建客户端
添加spring所需的jar包和hession包
导入服务端的接口和pojo
在spring的配置文件中配置hession工厂代理类
<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());
}
分享到:
相关推荐
Hession与SpringMVC整合的例子程序,HseServer.zip为服务器端,HseClient.zip为客户端 pom.xml为引用的jar,可以删除一些无用的引用。版本为JDK8,Spring4.3.4,hessian4.0.38
hession例子,源 码,最新的jar包,还有web例子与spring结合的例子
用hession完成远程调用或者将hession注入到spring中实现远程调用
hession文档(与spring兼容)
NULL 博文链接:https://xiangjinqi.iteye.com/blog/1432095
hession使用:两种发布方式: 第一种:hession单独使用 第二种:hession集成spring一起使用
hession服务端
hession入门例子
这是Hessian和Spring集成的示例,具体步骤请参考本人博客: http://blog.csdn.net/jjasun/article/details/29593083
java开发常用jar包之Hession.rar
NULL 博文链接:https://zw7534313.iteye.com/blog/2240388
内容包括,dubbo的消费者demo,提供者demo, hession的demo, rpc的demo,
NULL 博文链接:https://zhaoshijie.iteye.com/blog/1076329
hession例子
hessian调用
最近工需要webservice 技术 ,所以研究了一下采用(rest ,hession,cxf)几种技术实现webservice,现在用maven构建,直接解压就可以运行
hessian与spring整合的jar包
NULL 博文链接:https://taozy.iteye.com/blog/1849141
spring-webmvc-2.5.6.jar,集成hession使用