`
killko
  • 浏览: 105074 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Group-logo
Servicemix&Fu...
浏览量:0
社区版块
存档分类
最新评论

Apache ServiceMix入门之四

阅读更多
上节,我们尝试了camel-ftp component和file component组成的2个路由,可以看到两个路由间接地通过“file:c:/inbox"这个endpoint,达到下载文件,然后再将文件移到另一文件夹的效果。下面,我们再来看几个其它Component的例子:

首先,我们先准备一下环境,先在console下运行:
karaf@root>log:clear


这个命令是将缓存中的日志清空。还有两个相关的命令:

log:display     显示最近的一些日志
log:tail            持续显示日志输出(对照一下linux/unix中的tail命令比较容易理解)

现在在camelContext下再加个route:
<route>
  <from uri="direct:abcd" />
  <log message="mylog:Message"/>
 </route>


在console下输入log:tail,应该看到没有输出或者输出一部分信息后,就没信息输出了,这时,我们要输入ctrl+c退出log:tail。

我们再用console命令:
karaf@root>feature:install camel-quartz

安装camel-quartz component,相信大家都知道quartz是什么了吧,不懂的,就去google一下。

然后,继续在camelContext下加多一个route:
<route>
  <from uri="quartz:mytimer?cron=0/10+*+*+*+*+?" />
  <to uri="direct:abcd"/>
 </route>

我们再次输入log:tail,就可以看到类似以下的输出:




每10秒钟就会输出一行包含“mylog:Message”的日志信息。

这是以上两个route合作产生的效果:

下面那个route的endpoint("quartz:mytimer?cron=0/10+*+*+*+*+?")每隔10秒产生一条Normal Message(NM),传递到endpoint("direct:abcd"), 然后,上面那个route的endpoint("direct:abcd")当有NM进入时,就会由<log message="xxxx">产生一条日志,所以我们就会每隔10秒就看到一条日志被输出。

在上面的例子中,我们可以看到“direct:abcd"就像一个标号一样,当有NM传递给它时,它并不处理,而是交到到由另一个有相同名字的direct endpoint为源的route那里处理。这里我表达得不好,大家自己体会一下。

最后,我们引入activemq的component,activemq是一个jms实现,也就是一个消息中间件,activemq component就是处理来自activemq的消息的组件。
<route>
  <from uri="quartz:timer2?cron=0/10+*+*+*+*+?" />
  <to uri="activemq:queue:q1"/>
 </route>

<route>
<from uri="activemq:queue:q1"/>
<to uri="log:q1logmessage"/>
 </route>

log:tail的输出如下:





除了以前的mylog:Message外,这次多了个内容为“Exchange[....."的日志。
<to uri="activemq:queue:q1"/>就是将NM转成ActiveMQ的消息,发到ActiveMQ的队列q1里。
<from uri="activemq:queue:q1"/>从ActiveMQ的队列q1里获取消息,并转成NM,传递给endpoint("log:q1logmessage")。

列举了以上几个例子,相信大家对ServiceMix的运作机制有了大致的认识了吧。

下节,我们举个可加入自定义业务逻辑的Bean Component的例子给大家参考。
  • 大小: 28.2 KB
  • 大小: 42.3 KB
4
0
分享到:
评论
3 楼 surpass_li 2013-12-24  
期待更新,楼主很强大
2 楼 shuibi1520 2013-10-09  
顶起,期待楼主更新。  
1 楼 zhtraul 2013-08-15  
怎么没有了,很期待更新。

相关推荐

    快速入门指南 中文版 ServiceMix4

    总之,Apache ServiceMix 4快速入门指南为初学者提供了清晰的步骤,帮助他们快速了解和使用ServiceMix,实现系统的集成和扩展。通过安装、启动、控制台操作以及基本的bundle管理和路由配置,用户可以迅速掌握...

    蓝眼睛ServiceMix教程

    4. **OSGi服务支撑**:ServiceMix采用了OSGi作为其底层框架,这意味着它可以作为服务容器来管理各种微服务或模块化服务。 ### 安装与配置ServiceMix #### 1.1 ServiceMix环境准备 ##### 1.1.1 Java环境配置 - **...

    ServiceMix学习笔记

    1. **ServiceMix 安装与入门** ServiceMix 的安装非常简单,只需从Apache官网下载对应的压缩包,解压后进入bin目录,运行ServiceMix.bat即可启动。为了添加或发布服务,你可以将组件拷贝至hotdeploy目录,...

    SERVICEMIX学习笔记最终版.pdf

    #### 一、ServiceMix安装及入门 - **ServiceMix简介**:ServiceMix是一款开源的企业服务总线(ESB),基于Java Business Integration (JBI) 规范构建,用于实现企业级应用和服务的集成。它是Apache软件基金会的一个...

    JBI开发指南(Servicemix开发指南)

    总的来说,JBI开发指南(ServiceMix开发指南)是一份珍贵的资源,为开发者提供了一条学习JBI和ServiceMix的入门之路。通过这份指南,开发者可以掌握JBI规范的核心概念,包括JBI定义的消息交换模式和应用程序接口。而...

    Apache Camel USER GUIDE Version 2.3.0

    7. **适用于多个项目:** 可以作为路由和中介引擎用于 Apache ServiceMix(最流行和强大的分布式开源企业服务总线和 JBI 容器)、Apache ActiveMQ(最流行和强大的开源消息代理)、Apache CXF(智能 Web 服务套件)...

    camel-manual-2.8.0

    - **Apache ServiceMix**:最流行和强大的分布式开源ESB(企业服务总线)和JBI(Java Business Integration)容器。 - **Apache ActiveMQ**:最受欢迎和强大的开源消息代理。 - **Apache CXF**:一个智能的Web服务...

    camel2.2.0 手册

    - Apache ServiceMix:最流行且强大的分布式开源企业服务总线(ESB)和 JBI 容器。 - Apache ActiveMQ:最受欢迎的开源消息代理。 - Apache CXF:一套智能 Web 服务套件(JAX-WS)。 - Apache MINA:网络框架。 ###...

    camel-manual-1.5.0.pdf

    - **Apache ServiceMix**:最流行且功能强大的分布式开源企业服务总线(ESB)和JBI容器之一。 #### 二、架构与特性 Apache Camel的设计旨在提供一种灵活且强大的集成解决方案。其核心架构特点包括: 1. **URI驱动**...

    WebService CXF学习-入门篇.pdf

    **四、入门实践——HelloWorld示例** 为了快速上手,我们可以创建一个简单的"HelloWorld"示例。首先,从Apache官方网站下载CXF的最新版本,例如这里使用的是2.2.2版本。然后,在Java项目中引入必要的依赖库,包括...

    camel-manual-2.4.0, 用户手册

    - **Apache ServiceMix**:这是最受欢迎且功能强大的分布式开源 ESB 和 JBI 容器。 - **Apache ActiveMQ**:这是最受欢迎且功能强大的开源消息代理。 - **Apache CXF**:这是一个智能 Web 服务套件(JAX-WS)。 - **...

    camel-manual-2.10.4.pdf

    - Apache ServiceMix:一个流行的分布式开源ESB和JBI。 - Apache ActiveMQ:一个成熟且广泛使用的开源消息代理。 - Apache CXF:一个智能的Web服务套件(包括JAX-WS和JAX-RS)。 - Apache Karaf:一个小型的基于OSGi...

    CAMEL核心开发指南

    - **Apache ServiceMix**:这是一个流行的分布式开源ESB(Enterprise Service Bus)和JBI(Java Business Integration)容器。 - **Apache ActiveMQ**:这是一个成熟的、广泛使用的开源消息代理。 - **Apache CXF...

    OSGI in Action

    - 企业级应用服务器:许多Java EE应用服务器,如Apache Karaf和Apache ServiceMix,都是基于OSGI技术构建的。 - 插件系统:OSGI常用于实现应用程序的插件系统,如Eclipse IDE和Jetty Web服务器都使用OSGI来实现其...

    jbpm5安装、配置、示例入门

    - `org.apache.servicemix.bundles.commons-dbcp-1.2.2_3.jar` - `commons-pool-1.4.jar` - `subethasmtp-wiser-1.2.jar` - `slf4j-nop-1.5.8.jar` - 数据库驱动(例如`mysql.jar`) - `btm-1.3.jar` - JBPM运行时的...

    cxf开发指南

    4. CXF 的特性: * 代码生成工具:Java to WSDL ;WSDL to Java ;XSD to WSDL ;WSDL to XML ;WSDL to SOAP;WSDL to Service * 支持 JAX-WS 、JAX-WSA 、JSR-181 和 SAAJ * 支持 SOAP 1.1、1.2、WS-Basic...

    CXF-WebService-开发指南、技术文档.docx

    - 通过Yoko支持CORBA,通过Tuscany支持SCA,通过ServiceMix支持JBI。 - 内置Jetty应用服务器。 **二、CXF 入门示例** **HelloWorldService** 是一个经典的入门示例,展示了如何创建和发布一个简单的Web服务。 1...

    CXF_WebService_开发指南、技术文档

    - **集成能力**:CXF能够很好地与各种应用服务器集成,比如内置的Jetty应用服务器,同时还支持通过Yoko实现CORBA的支持,通过Tuscany支持SCA,通过ServiceMix支持JBI。 #### 二、CXF环境搭建与配置 CXF的安装非常...

    WebService_CXF范例.

    【WebService CXF详解与入门】 WebService是一种允许不同系统之间进行通信和交互的标准协议,它基于HTTP协议,使得应用程序可以无视具体实现细节地调用互联网上的服务。这种技术使得分布式应用程序的发展成为可能,...

Global site tag (gtag.js) - Google Analytics