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

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

阅读更多

使用burlap和spring整合发布远程服务

开发步骤

 1服务端接口和实现的开发

 2服务端的web.xml的配置信息

 3服务端的spring和burlap的配置信息

 4 部署发布服务端服务

 5 客户端的配置信息

 6客户端的访问信息

 

服务端接口和实现类

 

 

服务端的服务定义类

package cn.com.huawei.burlap.service;

import java.util.List;

public interface IUserService {
  public List getUsernames();
}

 

 

服务端的服务实现类

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

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

import cn.com.huawei.burlap.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">

  <!--spring的配置文件的信息-->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext.xml</param-value>
 </context-param>

  <!---使用上下文的加载spring-->
 <listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>

<!---使用spring的分发器将服务分发到Burlap的响应的控制类-->


 <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>

注意使用spring的分发器时必须使用响应的配置信息的 servlet-name-servlet.xml配置文件:如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">
  <!---远程服务的burlap的在spring中配置信息-->

  <bean name="/Userservice-burlap" class="org.springframework.remoting.caucho.BurlapServiceExporter">
    <property name="service">
      <ref bean="userservicetarget"/>
    </property>
    <property name="serviceInterface">
      <value>cn.com.huawei.burlap.service.IUserService</value>
    </property>
  </bean>
</beans>

 

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.burlap.service.impl.UserService"/>
</beans>

 

 

 

 

 

spring和burlap的配置文件

spring和burlap的客户端使用远程服务的服务

package cn.com.huawei.burlap.client;

import java.util.List;

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


public class BurlapClient {

 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.burlap.client;

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

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

 

client.properties 属性配置文件

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

serverName=localhost
httpPort=8080
rmiPort=1099
serverPath=SpringBurlap
contextPath=remoting/Userservice-burlap

 

客户端spring配置
<?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="burlapclient"
  class="cn.com.huawei.burlap.client.BurlapClient">
  <property name="userservice">
   <ref local="proxyuserservice" />
  </property>
 </bean>
 <bean id="proxyuserservice"
  class="org.springframework.remoting.caucho.BurlapProxyFactoryBean">
  <property name="serviceUrl">
   <value>
    http://${serverName}:${httpPort}/${serverPath}/${contextPath}
   </value>
  </property>
  <property name="serviceInterface">
   <value>cn.com.huawei.burlap.service.IUserService</value>
  </property>
 </bean>
</beans>

分享到:
评论
1 楼 李君寻 2013-06-04  
感谢讲解

相关推荐

    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的完整框架,为企业级应用提供了...

    spring jar 包详解

    - **依赖关系**:依赖于 `spring-core.jar`、`spring-beans.jar`、`spring-aop.jar`、`spring-dao.jar`、`spring-jdbc.jar`、`spring-orm.jar`、`spring-web.jar` 和 `spring-webmvc.jar`。 ##### 7. spring-jdbc....

    外文翻译-Spring的web-MVC-构架模式讲解学习.pdf

    Spring的Web MVC架构模式是一种在Java开发中广泛使用的轻量级框架,用于构建高效、可测试和可维护的Web应用程序。...它不仅简化了开发流程,还提高了代码质量,使其成为现代企业级应用的首选框架之一。

    spring开发手册

    Spring作为Java领域最流行的轻量级框架之一,它以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)理念,极大地简化了企业级应用的开发工作。 本手册以CHM(Compiled ...

    spring-enterprise-in-practice:spring-enterprise-in-practice

    6. **Spring与企业服务**:Spring集成了许多企业级服务,如邮件服务、任务调度、缓存管理(如Ehcache)、消息传递(JMS)、远程调用(RMI、Hessian、 Burlap)等。 7. **测试支持**:Spring提供了测试框架,包括...

    spring framework中文开发参考手册

    Spring Framework是Java平台上的一个开源应用程序框架,以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力而闻名,是企业级应用开发的首选框架。 该手册首先...

    Spring 2.5 开发手册

    《Spring 2.5 开发手册》是一本深入解析Spring框架2.5版本的专业指南,旨在帮助开发者理解和应用这一强大的Java企业级应用框架。Spring框架以其依赖注入、面向切面编程以及全面的企业服务支持,成为了Java开发中的...

    Spring包结构以及各个包之间引用关系说明.doc

    Spring 是一款轻量级的开源框架,主要用于简化企业级应用的开发工作。它通过提供一系列的基础框架,帮助开发者构建可重用的组件,并且能够有效地管理这些组件之间的依赖关系。Spring 的设计目的是为了简化应用程序的...

    rmi实例(Spring整合)

    Spring框架作为Java企业级应用的基石,它提供了与RMI集成的能力,使得开发者可以方便地利用RMI来构建高可扩展性的系统。本文将深入探讨Spring整合RMI的相关知识点。 首先,理解RMI的基本概念是关键。RMI允许一个...

    spring远程调用和xfire aegis 源代码上传

    标题 "spring远程调用和xfire aegis 源代码上传" 涉及到的是在Java开发中使用Spring框架进行远程过程调用(RPC)以及整合XFire和Aegis库来实现服务间的通信。这一主题是分布式系统设计中的一个重要组成部分,特别是...

    Spring2.5jar所有开发包及完整文档及项开发实例.pdf

    11. `spring-web.jar`:用于Web应用开发,包括WebApplicationContext,Struts和JSF集成,文件上传,Filter和工具类。 12. `spring-webmvc.jar`:包含Spring MVC框架的所有类,涉及国际化,标签,主题,视图渲染(如...

    Spring In Action 2005

    介绍如何使用Spring框架与企业级服务进行交互,如JMS、JNDI、JTA等,以及如何处理复杂的企业级通信和集成需求。 #### 第三部分:Spring在Web层的应用 **第8章:构建Web层** 讲解如何使用Spring MVC框架构建Web...

    spring doc格式

    Spring 是一个广泛使用的开源Java应用程序框架,主要设计用于简化企业级应用开发。Spring 框架的核心特性是依赖注入(Dependency Injection,简称DI),它帮助开发者管理对象(称为Bean)的创建、配置和组装。Spring...

    Pro Spring 3(带目录版)

    通过本书,读者能够深入了解Spring框架的设计理念和使用方法,并且能够掌握如何在企业级应用开发中有效地应用Spring技术。 书中分为多个章节,每一章节都围绕着一个特定的主题进行讲解,具体知识点如下: 第1章:...

    基于Spring的远程访问与Web Service

    标题与描述中提到的主题是“基于Spring的远程访问与Web Service”,这涉及到Spring框架在企业级应用中的关键特性——即其支持多种远程服务调用的方式,包括但不限于RMI、HTTP Invoker、Hessian、Burlap、JAX-RPC以及...

    Spring3.0xMVC jar包关系

    Spring框架作为一个全面的、模块化的应用平台,被广泛应用于企业级应用开发之中。它不仅支持传统的Java EE技术栈,也兼容轻量级Web应用的开发。Spring3.0x版本引入了一系列改进和新特性,其中对于依赖管理进行了优化...

Global site tag (gtag.js) - Google Analytics