`

Spring Hessian配置使用

阅读更多

Spring 提供简便的远程调用服务

一、下载hessian.jar包

二、服务器端配置

1、新建applicationContext-hessianServer.xml

<?xml version="1.0" encoding="UTF-8"?>

略....


<description>Hessian Configer</description>


<!--辅助类 可以不添加 -->

<bean id="lazySerializer" class="com.cmmb.mall.util.hessian.LazyHibernateSerializerFactory"></bean> 


<!--merchantServiceExporter 暴露服务名 -->

<bean name="merchantServiceExporter" class="org.springframework.remoting.caucho.HessianServiceExporter">

<property name="service" ref="merchantService" />

<property name="serviceInterface" value="com.ws.api.MerchantService" />

<property name="serializerFactory" ref="lazySerializer"></property>  

</bean>

<bean id="merchantService" class="com.ws.impl.MerchantServiceImpl" />

2、web.xml配置

<servlet>

  <!--merchantServiceExporter 暴露服务名 相对应 -- >

<servlet-name>merchantServiceExporter</servlet-name>

<servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>merchantServiceExporter</servlet-name>

<url-pattern>/remoting/MerchantService</url-pattern>

</servlet-mapping>

三、客户端配置

1、新建applicationContext-hessianClient.xml

<?xml version="1.0" encoding="UTF-8"?>

略........

<bean id="merchantService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">

<property name="serviceUrl" value="http://192.168.1.117:8080/merchantmanage/remoting/MerchantService" />

<property name="serviceInterface" value="com.cmmb.mall.ws.api.MerchantService" />

</bean>

四、测试

pubilc class Test{

 //merchantService 配置的bean


ThirdProductService thirdProductService = (ThirdProductService) ac.getBean(" merchantService ");

public static void main(String[] args) {

//调用远程接口

List<ThirdProduct> tps =  thirdProductService.listByStatus("ONLINE");

}

}


------------------------------------------------------------------------------


辅助类:


public class LazyHibernateSerializerFactory extends SerializerFactory {

public static String versionString = "3";


@SuppressWarnings("unchecked")

@Override

public Serializer getSerializer(Class cls) throws HessianProtocolException {

try {

if (versionString.startsWith("3")

&& Class.forName(

"org.hibernate.collection.PersistentCollection")

.isAssignableFrom(cls)) {


return new LazySerializerForHibernate3(cls);

} else if (versionString.startsWith("4")

&& Class

.forName(

"org.hibernate.collection.spi.PersistentCollection")

.isAssignableFrom(cls)) {

return new LazySerializerForHibernate4(cls);

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return super.getSerializer(cls);

}

public static void main(String[] args) {

org.hibernate.engine.VersionValue hVersion ;

System.out.println(org.hibernate.engine.VersionValue.NEGATIVE);

}

}

http://www.eshow365.cn

 

1
3
分享到:
评论

相关推荐

    Hessian的Spring配置

    **Spring中的Hessian配置** 在Spring框架中集成Hessian,我们需要进行以下步骤: 1. **创建服务接口和服务实现**: 首先,你需要定义一个服务接口,然后实现这个接口。例如,我们有一个`HelloHessianService`接口,...

    spring hessian的使用

    在Spring中使用Hessian主要涉及以下几个关键点: 1. **服务端配置**: - 首先,你需要创建一个服务接口和服务实现类。例如,有一个`HelloService`接口和对应的`HelloServiceImpl`实现类。 - 接下来,在Spring的...

    Spring配置hessian远程服务

    使用eclipse maven工程搭建hessian远程服务demo 分服务端的整合和客户端 建议阅读相关博客http://blog.csdn.net/heisemuyangquan/article/details/79460528

    Spring集成Hessian案例

    4. **配置Hessian客户端**:在服务消费者的项目中,同样需要配置Spring,但这次是创建Hessian客户端bean来消费服务提供者提供的服务。 ```xml &lt;hessian:proxy id="userServiceProxy" serviceUrl=...

    Hessian与Spring整合需要jar包

    1. **配置Spring**:在Spring的配置文件中定义Hessian服务的bean,通过`&lt;bean&gt;`标签声明服务接口和其实现类,使用`hessian-proxy-factory-bean`来创建Hessian服务的代理。 2. **暴露Hessian服务**:通过Spring的`...

    hessian与spring整合的jar包

    4. 在客户端,通过Spring的`HessianClientInterceptor`或者直接使用`HessianProxyFactory`来创建Hessian代理,调用远程服务。 5. 配置服务器端(如Tomcat)以部署Spring应用上下文和Hessian服务。 6. 运行并测试服务...

    Spring中集成Hessian的问题

    2. **配置Hessian布署器:** 在Spring的配置文件中,定义一个HessianServiceExporter或HessianServlet,它们会将你的服务暴露为Hessian服务。例如: ```xml &lt;bean id="hessianServiceExporter" class="org.spring...

    spring aop hessian 基础demo 部署即可运行

    Spring AOP和Hessian是两个在Java开发中广泛使用的技术,尤其在分布式系统和服务治理中。下面将详细解释这两个概念以及它们如何结合使用。 **Spring AOP(面向切面编程)** Spring AOP是Spring框架的一个重要组成...

    spring整合hessian进行远程通讯

    标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...

    Hessian的使用配置步骤

    远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时...这个文件可以是hessian在spring项目和web项目的简单配置

    spring集成Hessian插件配置改成自动注入。

    这篇博客文章可能详细介绍了如何将Spring与Hessian插件结合,并将原本的手动配置改为自动注入,从而简化了项目的配置和管理。 首先,我们需要理解Spring的自动注入机制。Spring依赖注入(Dependency Injection, DI...

    在 Spring Web Flow 项目中应用 Hessian 服务

    1. **配置Hessian服务**:在服务器端,我们需要创建一个实现了所需接口的业务服务类,并在Spring配置文件中声明它为Hessian服务,使用`&lt;bean&gt;`标签配合`hessian:service`标签进行配置。 2. **暴露Hessian服务**:...

    Hessian和Spring集成示例

    在IT行业中,Hessian和Spring的集成是服务端开发中常用的一种技术,它允许我们将Java对象作为远程服务进行调用,极大地提高了开发效率和系统的可扩展性。下面将详细讲解Hessian与Spring集成的关键知识点。 首先,...

    Spring整合Hessian(Maven Web工程)

    一个Spring整合Hessian的Demo,同时包含Hessian服务端与客户端。是一个Maven工程,IDE使用的Eclipse,运行前需要安装Eclipse的Maven插件。可以结合文章一起学习,地址是...

    使用hessian简单使用【续】- 与spring结合使用

    在Spring项目中使用Hessian,首先需要在Maven或Gradle的配置文件中引入Hessian和Spring的相关依赖。例如,如果是Maven,可以在pom.xml中添加如下依赖: ```xml &lt;groupId&gt;com.caucho&lt;/groupId&gt; &lt;artifactId&gt;...

    基于spring+hessian框架的webservice实例

    在Spring的配置文件(如`applicationContext.xml`)中,我们可以定义一个`hessian-service` bean,将服务接口绑定到服务实现: ```xml &lt;hessian:service id="myHessianService" ref="myService" url="/my/hessian/...

    spring、hessian通过tomcat的简单环境应用源代码

    5. **客户端调用**:在客户端,同样使用Spring配置来创建HessianProxyFactoryBean,指向服务器的URL,这样就可以通过本地调用的方式,透明地访问远程Hessian服务。 6. **部署与运行**:将整个项目打包成WAR文件,...

    spring mvc hessian maven简单实例

    首先,我们需要创建一个Maven项目,配置pom.xml文件来管理Spring MVC、Hessian和其它相关依赖。在pom.xml中,添加以下依赖: ```xml &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-webmvc &lt;version&gt;5.x.x...

    Hessian与spring整合

    2. **Hessian Service**:然后,我们需要使用Hessian库提供的注解或配置,将Spring Bean转换为Hessian服务。这通常涉及到创建一个HessianExporter,它会绑定到特定的URL,使得客户端可以通过HTTP请求调用服务。 3. ...

Global site tag (gtag.js) - Google Analytics