`
wsh_88188
  • 浏览: 16057 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Apache CXF结合camel blueprint demo

 
阅读更多

cxf框架是apache的web service框架,提供简单易用的webservice功能,同时可以实现restful风格的soa。

camel也是apache出品,他将request到response以route的形式进行处理,同时将response返回给请求端。这一点类似前端emberjs的思路,每一个请求都通过一个route作为入口,然后根据XML的配置经过每个处理,最后将结果返回。

为了方便实用和配置,camel同时提供了blueprint的配置方式,将请求配置到xml文件中,从而可以更加清晰的了解访问路由,利于维护。

 

本例是基于jboss fuse, karaf的osgi程序。

  1. java程序代码:
  2. @Path("/")
    @Consumes(MediaType.APPLICATION_JSON)
    public interface LoginEndPoint{
    
    @POST
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/addCustomer")
    public String addCustomer(CustomerVo cust);
    
    @POST
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/loginCustomer/{name}")
    public CustomerVo loginCustomer(@PathParam("name")String name);
    }
     具体business实现
    public class LoginEndPointImpl implements LoginEndPoint{
    
    @Override
    public String addCustomer(CustomerVo cust){
    
    return null;
    }
    
    @Override
    public CustomerVo loginCustomer(String name){
    
    return null;
    }
    }
     
    public interface Processor{
    
    public Object process(String name);
    }
     
    Processor 实现
    public LoginCustomerProcessor implements Processor{

    public Object process(String name){

    CustomerVo cust=new CustomerVo();
    cust.setName(name);
    cust.setStatus("Y");
    return cust;
    }
    }
     
  3. blueprint.xml默认配置路径在./resources/OSGI-INF/blueprint/blueprint.xml
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws" 
xmlns:jaxrs="http://cxf.apache.org/blueprint/jaxrs" 
    xsi:schemaLocation="
      http://www.osgi.org/xmlns/blueprint/v1.0.0
      http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
      http://camel.apache.org/schema/blueprint/cxf
http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
     http://camel.apache.org/schema/blueprint
http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
">

<bean id="loginService" class="com.XX.endpoint.LoginEndPointImpl"/>
<bean id="loginProcessor" class="com.XX.processor.LoginCustomerProcessor"/>

<cxf:rsServer id="rsServer" address="login" serviceClass="com.XX.endpoint.LoginEndPointImpl"/>

<camelContext id="loginContext" xmlns="http://camel.apache.org/schema/blueprint">
<route id="login">
<from uri="cxfrs://bean://rsServer"/>
<recipientList>
  <simple>direct:${header.operationName}</simple>
</recipientList>
</route>

<route id="loginCustomer">
  <from uri="direct:loginCustomer"/>
  <process ref="loginProcessor"></process>
</route>
</camelContext>
</blueprint>

0
1
分享到:
评论

相关推荐

    使用CXF和camel-cxf调用webservice

    Apache CXF和camel-cxf是两个流行的开源框架,它们可以帮助开发者轻松地创建、消费和集成Web服务。本篇文章将详细介绍如何使用CXF和camel-cxf调用Web服务,以及这两个工具的核心功能和使用场景。 Apache CXF是一个...

    基于Apache CXF构建SOA应用

    Apache CXF 框架是一个比较有前途的开源 Web Services 框架,也是构建 SOA 架构应用的利器。本书采用案例源码和解说形式全面介绍 Apache CXF 框架的功能。 本书共 15 章,大致分为三个部分。第一部分介绍关于 SOA 和...

    apache cxf_jar包

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)中的Web服务。这个"apache cxf_jar包"包含了实现基于Java的Web服务所需的一系列核心库。下面我们将深入探讨这些jar文件及其在Web服务实现...

    两本关于apache cxf的书籍,英文

    读者可能会学到如何在CXF和Axis2之间进行选择,以及如何结合两者的优势来构建复杂的服务架构。书中可能包含了关于服务版本控制、安全性和性能优化的章节,这些都是大型企业级项目中至关重要的考虑因素。此外,对于...

    apache-cxf-3.5.0.zip

    Apache CXF 是一款广泛使用的开源框架,主要用于构建和部署高质量的Web服务。它以其灵活性、易用性和强大的功能集而闻名。"apache-cxf-3.5.0.zip" 文件包含了CXF框架的3.5.0版本,该版本可能包含了一些新特性、改进...

    Apache CXF

    Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF

    apache-camel-demo

    apache-camel 开发sample Apache Camel是一个基于规则路由和中介引擎,提供企业集成模式的Java对象(POJO)的...在面向服务的体系结构的项目中,Camel通常与Apache ServiceMix, Apache ActiveMQ以及Apache CXF一同使用。

    apache-cxf2.7.18官方版最稳定版本

    Apache CXF是一个开源的Web服务框架,由Apache软件基金会开发并维护,专注于提供高质量的SOAP和RESTful服务。它的名称CXF来源于两个前身项目:XFire和Celtix的组合,这两个项目在2006年合并成为Apache CXF。Apache ...

    Apache CXF Web Service Development(源码)

    Apache CXF是一个开源框架,主要用于构建和开发Web服务。它提供了强大的工具和支持,使得开发者能够轻松地创建、部署和管理SOAP(Simple Object Access Protocol)和RESTful(Representational State Transfer)服务...

    Developing Web Services with Apache CXF and Axis2(3rd Edition).zip

    Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...

    apache-cxf 2.2.8版本下载

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个项目的核心目标是提供一个工具集,使开发者能够轻松地创建和部署基于SOAP和RESTful的服务。CXF这个名字来源于两个曾经流行...

    基于Apache CXF构建SOA应用 随书源代码

    2013版的 &lt;基于Apache CXF构建SOA应用&gt; 源码 Apache CXF是一个开放源码的Web服务框架,提供了一个易于使用,用于开发Web Services标准为基础的编程模型。本书主要介绍Apache CXF在构建SOA架构各个方面的应用说明和...

    apache cxf 用户手册

    apache cxf 2.1.3 的用户手册

    apache-cxf-3.1.8.zip

    Apache CXF 是一个开源的Java Web服务框架,它支持多种Web服务标准,包括SOAP、RESTful API、WS-*协议栈等。3.1.8版本是该框架的一个稳定发行版,提供了一系列增强功能和错误修复。以下是关于Apache CXF 3.1.8及其...

    05-ApacheCamel-CXF-WebService

    本项目"05-ApacheCamel-CXF-WebService"主要探讨了如何将Apache Camel与Apache CXF整合,以实现高效的服务消费和提供。 在项目中,"05-ApacheCamel-CXF-WebService-Client"这部分内容可能是客户端的应用,用于调用...

    cxf框架包 apache-cxf-3.4.3.tar.gz

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个框架允许开发者通过SOAP、RESTful HTTP、XML以及各种协议来实现服务接口。在本案例中,我们讨论的是"apache-cxf-3.4.3.tar.gz",这是Apache CXF ...

    Apache CXF2+Spring2.5轻松实现WebService

    Apache CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务。结合Spring框架,可以轻松地在Java应用程序中实现Web服务。本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 ...

    apache cxf 一个helloworld的例子

    ### Apache CXF HelloWorld 示例详解 #### 一、Apache CXF简介与特点 Apache CXF(以下简称为CXF)是一款非常流行的开源项目,用于构建和服务Web Services。它整合了两个著名的开源项目:Apache Celtix 和 XFire。...

Global site tag (gtag.js) - Google Analytics