`

OSGi在ServiceMix4中的应用

    博客分类:
  • esb
阅读更多

本文向您介绍OSGI在ServiceMix4中的应用。ServiceMix4不仅支持JBI规范,更重要的是支持OSGi,本文将详细介绍ServiceMix4的应用过程。

 

 

转自:http://developer.51cto.com/art/200906/129436.htm

ServiceMix4介绍

ServiceMix4是一个令人期待的ServiceMix新版本,它不仅支持JBI规范,更重要的是支持OSGi。与ServiceMix3.x相比,对OSGi的支持是它最大的特色。它包括Kernel和NMR两个项目。Kernel是基于OSGi实现框架Flex实现的,它是ServiceMix4的基石;NMR构建于Kernel之上,它是JBI规范的具体实现。

51CTO编辑推荐:OSGi入门与实践全攻略

ServiceMix4架构图

OSGi架构图

关于ServiceMix4和Kerne可以参考相关文档。

Kerne架构中的OSGi

由于ServiceMix4同时支持OSGI和JBI,所以它支持OSGI和JBI这2种部署。部署在ServiceMix3.x上的组件绝大多数可以直接部署在ServiceMix4中。

下面来看看基于OSGI部署的组件如何部署在ServiceMix4中。

初试ServiceMix4

准备工作

下载ServiceMix4

下载地址:http://servicemix.apache.org/SMX4/download.html

安装ServiceMix4

直接将下载后的文件解压即可。

启动

直接双击/bin文件夹中的servicemix.bat,片刻之后,就可以启动ServiceMix4。

启动后的界面如下:

ServiceMix4启动界面

 

基于OSGI的最简单实例

该实例实现了将一个文件夹中的xml文件拷贝到另外一个文件夹中。

代码片段如下:

  1. <bean class="org.apache.servicemix.common.osgi.EndpointExporter"/> 
  2.  
  3. <file:poller service="honnom:pollFile" endpoint="pollEndpoint" 
  4.              file="honnom/inBox/" targetService="honnom:sendFile" > 
  5. file:poller> 
  6.  
  7. <file:sender service="honnom:sendFile" endpoint="sendEndpoint" 
  8.              directory="honnom/outBox/"> 
  9. file:sender> 

代码介绍


使用该bean完成poller和sender的OSGI注册。

             file="honnom/inBox/" targetService="honnom:sendFile" >

定义一个poller,周期性地从文件夹honnom/inBox中读取xml格式的文件。
             directory="honnom/outBox/">

定义一个sender,将接收到的文件存放在文件夹honnom/outBox中。

部署

直接将file-osgi.xml拷贝到ServiceMix4的安装目录的deploy下。

运行

ServiceMix4部署完file-osgi.xml后,会在/bin文件夹下生成两个子目录:
honnom/inBox和honnom/outBox。拷贝一个xml格式的文件到inBox中,几秒钟后该文件会被转移到outBox中。

总结

可以看出ServiceMix4的部署更加简单,可以直接通过OSGI部署xml文件,而不需要将xml打包成sa(.zap文件)。当然也可以将xml打包成sa,以JBI组件的方式进行部署。

分享到:
评论

相关推荐

    快速入门指南 中文版 ServiceMix4

    ServiceMix是基于OSGi的Java应用程序,它提供了集成多种不同技术和服务的能力,如Java消息服务(JMS)、Web服务、Java存根(EJB)、企业级JavaBean(EJB)和Java持久化API(JPA)等。 1. **介绍** ServiceMix是一...

    servicemix代理web service

    1. **Apache Servicemix基础**:Servicemix是基于OSGi容器的开源企业服务总线(ESB),它提供了一个灵活的平台来整合不同的系统和应用,通过各种协议和服务标准进行通信。它支持多种服务标准,如JMS、HTTP、FTP、...

    蓝眼睛ServiceMix教程

    根据给定的信息,“蓝眼睛ServiceMix教程”主要围绕ServiceMix这一技术进行介绍,涉及其安装配置、基础概念以及如何在企业环境中应用等方面。下面将基于这些内容,详细展开相关知识点。 ### ServiceMix简介 ...

    servicemix 7安装使用及camel-cxf代理webservice

    在“camel_0325_bundle”中,可能包含了Camel的相关示例或者配置文件,这可能是一个Camel路由的示例应用,用于演示如何在ServiceMix中运行Camel。 Apache CXF则是一个开源的Web服务框架,用于构建和消费Web服务。...

    Maven管理ServiceMix工程

    在Java企业级开发中,Apache ServiceMix是一个流行的开源企业服务总线(ESB)和应用服务器,它基于OSGi容器,并且集成了许多开源项目,如Apache Camel、CXF等。Maven作为Java项目的构建工具,通过其强大的依赖管理和...

    serviceMix大合集

    4. **JAX-RS**:这是Java中的RESTful Web服务规范,ServiceMix支持JAX-RS来创建和消费RESTful API,使得服务的交互更加简单和直观。 5. **OSGi**:ServiceMix基于OSGi框架,这是一个模块化系统,允许动态地安装、...

    serviceMix小例子

    在ServiceMix中,Camel使得集成各种协议、API和企业应用变得简单易行。 1. **Camel组件介绍**: - Camel提供了大量的组件,如HTTP、FTP、JMS、SOAP等,用于与各种系统进行通信。这些组件简化了集成工作,因为它们...

    ServiceMix 4.2 Ref cards

    ServiceMix 4.2 是 Apache 项目下的一个开源企业服务总线(ESB),在这一版中,它从基于 Java Business Integration (JBI) 的架构迁移到了 OSGi(开放服务网关协议)架构。ServiceMix 的历史可以追溯到五年以前,它...

    基于SOA和ESB企业总线的OSGi企业级应用

    博文链接可能提供了关于如何在实践中整合这三者的技术细节,包括如何使用特定工具和源码来实现一个基于SOA、ESB和OSGi的企业级应用。由于无法直接查看提供的MHT文件,无法给出具体的内容摘要,但通常这样的资源会...

    ServiceMix做内部服务器发布WebService(附带案例源码)

    ServiceMix是一款基于Java的开源企业服务总线(ESB),它提供了一种灵活的方式来集成不同的系统和服务,支持...通过深入研究提供的“Login内部发布案例”源码,你可以更好地理解ServiceMix和CXF在实际项目中的应用。

    四大OSGI框架最新技术对比分析

    - **成熟度高且稳定**:该框架在多个项目中得到了广泛的应用,例如 Apache ServiceMix。 - **服务全面**:提供的服务几乎覆盖了 OSGi 4.2 标准的所有方面,并额外提供了一些非标准功能,如 iPOJO。 - **轻量级**:只...

    使用Servicemix(ESB)发布一个外部的WebService

    Servicemix是Apache项目下的一个开源ESB实现,它基于OSGi(开放服务网关倡议)标准,提供了一个灵活且可扩展的框架,用于集成和管理各种服务。Servicemix的核心优势在于它能够轻松地部署和管理WebService、POJOs...

    apache-servicemix-4.4.0(1)

    在这款软件中,Apache ServiceMix 4.4.0 版本是一个重要的里程碑,它集成了多种开放标准和框架,如Java EE、Spring、Camel、CXF等,为开发人员提供了丰富的功能和工具。 1. **Java Enterprise Edition (Java EE) ...

    servicemix-bundles:Apache ServiceMix捆绑包的镜像

    Apache ServiceMix是一个开源的企业服务总线(ESB)和应用服务器,它基于OSGi(开放服务网关规范)框架,提供了集成不同系统和服务的能力。这个项目的主要目标是提供一个灵活、可扩展且易于管理的平台,用于实现企业...

    org.apache.servicemix.bundles.spring-jdbc-3.2.8.RELEASE_2.zip

    4. **mysql-binlog-connector-java**:探讨这个开源库的功能,如连接到 MySQL 服务器,解析二进制日志事件,并在 Java 应用程序中使用这些事件,以及在实际场景中如何应用,比如在分布式系统中进行数据一致性保证。...

    在没有配置DNS的linux上发布ServiceMix

    ServiceMix是Apache基金会的一个企业级服务总线(ESB)项目,它基于Java和OSGi技术,提供了一个灵活的平台来集成不同系统和应用。在这个场景下,我们需要通过IP地址而非域名来设置和访问ServiceMix。 首先,我们...

    ServiceMix框架研究(1)

    在“ServiceMix框架研究(1)”中,我们可能将深入探讨以下几个关键知识点: 1. **企业服务总线(ESB)**:ESB是企业级应用集成的关键组件,它提供了一种标准化的方式来连接不同的系统和应用,促进服务之间的通信。...

    ServiceMix框架研究(2)

    OSGi允许开发者在一个可热更新的环境中管理模块化组件,使得ServiceMix具备了高度灵活性和可扩展性。 在ServiceMix中,关键知识点包括: 1. **服务组件运行时(Service Component Runtime, SCA)**:SCA是定义服务...

Global site tag (gtag.js) - Google Analytics