`
longgangbai
  • 浏览: 7331647 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring 企业级开发应用---------hessian和spring的远程服务整合的应用

阅读更多

hessian和burlap使用同一公司的产品实现机制不同,但是他们的配置一样所以在仅仅提供代码参考,

具体上一节spring和burlap的远程服务的整合的应用

 

服务端接口

package cn.com.huawei.hessian.service;

import java.util.List;

public interface IUserService {
  public List getUsernames();
}

服务端接口的实现

package cn.com.huawei.hessian.service.impl;

import java.util.ArrayList;
import java.util.List;

import cn.com.huawei.hessian.service.IUserService;

public class UserService  implements  IUserService{
   public List getUsernames()
   {
     List<String> usernames=new ArrayList<String>();
     usernames.add("xiaobai");
     usernames.add("xiaoli");
     return usernames;
   }
}

 

服务端的web。xml的配置信息

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <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>remoting</servlet-name>
  <servlet-class>
   org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>remoting</servlet-name>
  <url-pattern>/remoting/*</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>

applicationContext。xml的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    
       <bean id="userservicetarget" class="cn.com.huawei.hessian.service.impl.UserService"/>
</beans>

 

 

remoting-servlet。xml的配置信息如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  
   
  
 
  <bean name="/Userservice-hessina" class="org.springframework.remoting.caucho.HessianServiceExporter">
    <property name="service">
      <ref bean="userservicetarget"/>
    </property>
    <property name="serviceInterface">
      <value>cn.com.huawei.hessian.service.IUserService</value>
    </property>
  </bean>
</beans>

 

关于客户端信息如下:

 

 

client.properties属性文件的信息

# Properties file with server URL settings for remote access.
# Applied by PropertyPlaceholderConfigurer from "clientContext.xml".

serverName=localhost
httpPort=8080
rmiPort=1099
serverPath=SpringHessian
contextPath=remoting/Userservice-hessina

 

spring和hessian的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="location"><value>client.properties</value></property>
 </bean>
    <bean id="hessinaclient" class="cn.com.huawei.hessian.client.HessinaClient">
      <property name="userservice">
         <ref local="proxyuserservice" />
      </property>
    </bean>
   <bean id="proxyuserservice" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
        <property name="serviceUrl">
          <value>http://${serverName}:${httpPort}/${serverPath}/${contextPath}</value>
        </property>
    <property name="serviceInterface">
      <value>cn.com.huawei.hessian.service.IUserService</value>
    </property>
  </bean>
</beans>

 

客户端测试代码应用

package cn.com.huawei.hessian.client;

import java.util.List;

import cn.com.huawei.hessian.service.IUserService;

public class HessinaClient {

 private IUserService userservice;

 public IUserService getUserservice() {
  return userservice;
 }

 public void setUserservice(IUserService userservice) {
  this.userservice = userservice;
 }

 public List getUsernames() {
  return this.userservice.getUsernames();
 }

}

 

package cn.com.huawei.hessian.client;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HessianTest {
 public static void main(String[] args) {
  ApplicationContext ctx = new ClassPathXmlApplicationContext(
    "applicationContext.xml");
  HessinaClient hessina = (HessinaClient) ctx.getBean("hessinaclient");
  System.out.println("hessinaclient:" + hessina.getUsernames());
 }
}

分享到:
评论

相关推荐

    hessian与spring整合的jar包

    Spring框架是Java应用开发的核心框架,它提供了一个全面的编程和配置模型,简化了企业级应用的开发。Spring包含了许多模块,如核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具类和支持以及测试模块。 当...

    Spring整合Hessian访问远程服务

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Hessian则是一种轻量级的RPC(Remote Procedure Call)协议,它允许服务提供者通过HTTP协议向服务消费者提供二进制格式的服务调用。本篇文章将深入探讨如何将...

    Hessian与Spring整合需要jar包

    而Spring则是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入、面向切面编程、事务管理等功能,极大地简化了应用的构建和维护。 在将Hessian与Spring进行整合时,我们需要确保引入了正确的jar包。这些jar...

    轻量级远程服务调用Hessian的入门实例和与Spring整合的实例.zip

    Hessian与Spring的整合可以帮助我们更好地管理和控制远程服务。Spring作为一个强大的企业级应用框架,可以提供依赖注入、事务管理等特性。在整合过程中,我们可以在Spring配置文件中声明Hessian服务的bean,并通过`...

    Hessian与spring整合

    而Spring框架是Java领域中广泛使用的依赖注入(DI)和面向切面编程(AOP)的工具,它极大地简化了企业级应用的开发和维护。 当我们谈论“Hessian与Spring整合”时,通常是指将Hessian作为服务通信的机制,结合...

    Hessian RPC-RMI技术 整合Structs Spring Hibernate Ibatis

    本文主要讨论的是如何将Hessian RPC与RMI技术整合到Structs、Spring、Hibernate和Ibatis这四个关键的Java开发框架中,以构建一个高效、灵活的分布式应用程序。 1. **Hessian配置说明**: Hessian的配置通常涉及...

    hessian-demo示例

    Spring是一个广泛使用的开源框架,用于简化企业级应用的开发。在本示例中,Spring被用来管理Hessian服务和客户端的bean。Spring的依赖注入特性使得我们可以轻松地配置和管理Hessian服务的生命周期。此外,Spring还...

    Hessian和Spring集成示例

    其次,Spring是一个广泛应用的开源框架,提供了一个全面的编程和配置模型,简化了企业级应用的开发。Spring支持多种服务暴露方式,包括HTTP、RMI、JMS等,而Hessian就是其中一种。 Hessian与Spring的集成主要涉及...

    Hessian-4.0.7(Jar包 + 源码)

    Hessian是一种轻量级的二进制Web服务协议,它由Caucho Technology开发,用于提高远程调用的效率和速度。Hessian 4.0.7是该协议的一个版本,提供了一个Java库,允许开发者在Java应用之间进行高效的数据交换。这个版本...

    Spring应用开发实战Web Service WS

    Spring对WS的支持,特别是Spring-WS,提供了一种轻量级的方式,以契约优先(先定义服务契约再编写实现代码)的方式来构建基于文档驱动的Web服务。 在Spring中开发WebService涉及到的关键知识点包括: 1. **Spring...

    spring-security3.1.4 完整的jar包

    10. **spring-security-remoting-3.1.4.RELEASE.jar**:处理远程方法调用的安全性,如RMI、Hessian和 Burlap等远程调用协议的安全控制。 这些jar包共同构成了Spring Security 3.1.4的完整框架,为企业级应用提供了...

    springsecurity所有jar包

    9. **spring-security-remoting**:支持远程调用的安全控制,例如RMI和Hessian。 10. **spring-security-oauth**:虽然不在3.1.2版本内,但Spring Security通常与OAuth集成,提供开放授权功能,允许第三方应用安全...

    spring-framework-4.3.23.RELEASE-dist.zip

    此外,Spring还提供了对消息传递(如JMS)、任务调度(如Quartz)、远程调用(如RMI、Hessian)等的支持,构建了一个全面的企业级应用开发平台。 总之,Spring Framework 4.3.23.RELEASE是一个强大且灵活的框架,其...

    Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)

    Dubbo是一个高性能、轻量级的Java RPC框架,Zookeeper则是一个分布式协调服务,而Spring是广泛使用的Java企业级应用框架。将它们结合,可以构建出强大的微服务架构。 首先,我们需要了解Dubbo的核心概念。Dubbo提供...

    [Spring.3.x企业应用开发实战].陈雄华 完整版

    《Spring 3.x企业应用开发实战》是一本深入讲解Spring框架在实际企业级项目中应用的书籍,由陈雄华撰写。这本书全面覆盖了Spring 3.x版本的关键特性和最佳实践,旨在帮助开发者掌握如何利用Spring构建高效、稳定且可...

    hessian3.1和spring2.5的结合

    标题 "Hessian3.1与Spring2.5的整合" 涉及的是在Java开发环境中,如何将Hessian远程调用服务与Spring框架相结合,以便实现高效、轻量级的分布式服务通信。Hessian是一种二进制协议,它允许远程方法调用(RMI)在HTTP上...

    srpingMVC+hessian4整合jar包,工程里拷出来的,绝对可用

    Spring MVC 和 Hessian 整合是企业级应用中常见的技术组合,主要用于构建分布式服务。Spring MVC 是一个基于模型-视图-控制器(MVC)设计模式的轻量级 web 框架,而 Hessian 是一种高效的远程方法调用(RPC)协议,...

    flex_spring_hessian框架(Java部分)

    总的来说,Flex-Spring-Hessian框架结合了Flex的富用户体验、Spring的企业级服务和Hessian的高效通信,为开发者提供了一种强大的工具,用于构建动态、交互性强的Web应用。理解和掌握这个框架的每个组件以及它们之间...

    Hessian多个版本打包下载

    此外,可能会有对其他开源项目如Spring的更好集成,使得在企业级应用中部署更加便捷。 Hessian4.0.7是相对比较新的一个版本,它可能包含了更多的改进和新功能。例如,安全性的强化可能是一个重点,如加密传输以保护...

    基于spring+hessian框架的webservice实例

    Spring是Java领域的一个核心框架,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),它还...

Global site tag (gtag.js) - Google Analytics