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
分享到:
相关推荐
**Spring中的Hessian配置** 在Spring框架中集成Hessian,我们需要进行以下步骤: 1. **创建服务接口和服务实现**: 首先,你需要定义一个服务接口,然后实现这个接口。例如,我们有一个`HelloHessianService`接口,...
在Spring中使用Hessian主要涉及以下几个关键点: 1. **服务端配置**: - 首先,你需要创建一个服务接口和服务实现类。例如,有一个`HelloService`接口和对应的`HelloServiceImpl`实现类。 - 接下来,在Spring的...
使用eclipse maven工程搭建hessian远程服务demo 分服务端的整合和客户端 建议阅读相关博客http://blog.csdn.net/heisemuyangquan/article/details/79460528
4. **配置Hessian客户端**:在服务消费者的项目中,同样需要配置Spring,但这次是创建Hessian客户端bean来消费服务提供者提供的服务。 ```xml <hessian:proxy id="userServiceProxy" serviceUrl=...
1. **配置Spring**:在Spring的配置文件中定义Hessian服务的bean,通过`<bean>`标签声明服务接口和其实现类,使用`hessian-proxy-factory-bean`来创建Hessian服务的代理。 2. **暴露Hessian服务**:通过Spring的`...
4. 在客户端,通过Spring的`HessianClientInterceptor`或者直接使用`HessianProxyFactory`来创建Hessian代理,调用远程服务。 5. 配置服务器端(如Tomcat)以部署Spring应用上下文和Hessian服务。 6. 运行并测试服务...
2. **配置Hessian布署器:** 在Spring的配置文件中,定义一个HessianServiceExporter或HessianServlet,它们会将你的服务暴露为Hessian服务。例如: ```xml <bean id="hessianServiceExporter" class="org.spring...
Spring AOP和Hessian是两个在Java开发中广泛使用的技术,尤其在分布式系统和服务治理中。下面将详细解释这两个概念以及它们如何结合使用。 **Spring AOP(面向切面编程)** Spring AOP是Spring框架的一个重要组成...
标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...
远程方法调用的比较,Hessian方法的介绍和相关配置.Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时...这个文件可以是hessian在spring项目和web项目的简单配置
这篇博客文章可能详细介绍了如何将Spring与Hessian插件结合,并将原本的手动配置改为自动注入,从而简化了项目的配置和管理。 首先,我们需要理解Spring的自动注入机制。Spring依赖注入(Dependency Injection, DI...
1. **配置Hessian服务**:在服务器端,我们需要创建一个实现了所需接口的业务服务类,并在Spring配置文件中声明它为Hessian服务,使用`<bean>`标签配合`hessian:service`标签进行配置。 2. **暴露Hessian服务**:...
在IT行业中,Hessian和Spring的集成是服务端开发中常用的一种技术,它允许我们将Java对象作为远程服务进行调用,极大地提高了开发效率和系统的可扩展性。下面将详细讲解Hessian与Spring集成的关键知识点。 首先,...
一个Spring整合Hessian的Demo,同时包含Hessian服务端与客户端。是一个Maven工程,IDE使用的Eclipse,运行前需要安装Eclipse的Maven插件。可以结合文章一起学习,地址是...
在Spring项目中使用Hessian,首先需要在Maven或Gradle的配置文件中引入Hessian和Spring的相关依赖。例如,如果是Maven,可以在pom.xml中添加如下依赖: ```xml <groupId>com.caucho</groupId> <artifactId>...
2. **Spring配置**:在服务端的Spring配置文件中,定义服务bean,然后配置Hessian的Servlet,这通常通过`<bean>`标签完成。 3. **服务发布**:Spring会自动处理服务的发布和生命周期管理,无需手动创建Servlet。 4...
在Spring的配置文件(如`applicationContext.xml`)中,我们可以定义一个`hessian-service` bean,将服务接口绑定到服务实现: ```xml <hessian:service id="myHessianService" ref="myService" url="/my/hessian/...
5. **客户端调用**:在客户端,同样使用Spring配置来创建HessianProxyFactoryBean,指向服务器的URL,这样就可以通过本地调用的方式,透明地访问远程Hessian服务。 6. **部署与运行**:将整个项目打包成WAR文件,...
首先,我们需要创建一个Maven项目,配置pom.xml文件来管理Spring MVC、Hessian和其它相关依赖。在pom.xml中,添加以下依赖: ```xml <groupId>org.springframework <artifactId>spring-webmvc <version>5.x.x...