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 可以无缝集成到Spring框架中,利用Spring的AOP(面向切面编程)和IOC(控制反转)特性,可以方便地管理和配置Hession服务。通过在Spring的配置文件中声明Hession服务bean,可以实现服务的自动暴露和消费。 ...
总结来说,`Spring Hessian Service Test`项目是关于如何在Spring框架下利用Hessian协议实现远程服务调用的测试案例。通过这种方式,我们可以轻松地实现分布式系统中的服务解耦和通信,提高系统的灵活性和可扩展性。...
Spring框架允许我们更优雅地管理服务,如通过注解配置服务bean,自动注册到Hession服务器,以及利用Spring的AOP特性添加事务、日志等服务管理功能。学习这部分内容,可以帮助我们更好地理解和应用Hession在企业级...
将Hession与Spring框架结合,可以充分利用Spring的依赖注入、AOP(面向切面编程)等特性,简化服务的发布和消费过程。在Spring中,我们可以使用`HessianServiceExporter`或`HessianProxyFactoryBean`来实现这一目标...
在IT行业中,Hessian和Spring的集成是服务端开发中常用的一种技术,它允许我们将Java对象作为远程服务进行调用,极大地提高了...通过熟练掌握这些知识点,你将能够有效地利用Hessian和Spring构建高性能的分布式系统。
在Spring中配置Hessian服务,我们可以利用Spring的自动装配能力,简化服务的发布和消费过程。 要实现Spring4与Hessian4的结合,你需要完成以下步骤: 1. **配置服务提供方**: - 首先,创建一个服务接口和其实现...
当我们将Hessian与Spring进行整合时,主要目标是利用Spring的依赖注入(Dependency Injection, DI)和组件管理能力来简化Hessian服务的创建和管理。以下是一些关键知识点: 1. **Spring核心模块**(spring-core-...
10. **集成与应用**:Hession可以方便地与其他Java框架(如Spring)集成,也可以应用于分布式系统、微服务架构中,提供快速、低延迟的通信解决方案。 在实际的"**hession例子**"中,我们可能会看到如何配置和启动...
总结来说,这个实例主要讲解了如何利用Spring4和Hessian4在Java环境中实现高效、便捷的远程服务调用。通过学习和实践这个实例,开发者可以掌握服务的发布和调用,提升在分布式系统中的编程能力。
Hessian是一种轻量级的RPC(远程过程调用)协议,它基于HTTP并采用二进制编码,旨在提高网络服务之间的通信效率。...通过深入理解和实践,你将能够充分利用Hessian的高效性和便捷性,提升你的Java网络编程能力。
【标题】:“Spring + Hessian + Maven 整合”是一个基于Java的分布式服务...通过这个整合,开发者可以学习如何在实际项目中利用Spring的灵活性,Hessian的高效通信,以及Maven的自动化构建,来构建和管理分布式系统。
利用keepalived+Nginx实战Nginx高可用方案 基于Nginx实现访问控制、连接限制 Nginx动静分离实战 Nginx Location ReWrite 等语法配置及原理分析 Nginx提供https服务 基于Nginx+lua完成访问流量实时上报Kafka的...