上节,我们尝试了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
分享到:
相关推荐
总之,Apache ServiceMix 4快速入门指南为初学者提供了清晰的步骤,帮助他们快速了解和使用ServiceMix,实现系统的集成和扩展。通过安装、启动、控制台操作以及基本的bundle管理和路由配置,用户可以迅速掌握...
4. **OSGi服务支撑**:ServiceMix采用了OSGi作为其底层框架,这意味着它可以作为服务容器来管理各种微服务或模块化服务。 ### 安装与配置ServiceMix #### 1.1 ServiceMix环境准备 ##### 1.1.1 Java环境配置 - **...
1. **ServiceMix 安装与入门** ServiceMix 的安装非常简单,只需从Apache官网下载对应的压缩包,解压后进入bin目录,运行ServiceMix.bat即可启动。为了添加或发布服务,你可以将组件拷贝至hotdeploy目录,...
#### 一、ServiceMix安装及入门 - **ServiceMix简介**:ServiceMix是一款开源的企业服务总线(ESB),基于Java Business Integration (JBI) 规范构建,用于实现企业级应用和服务的集成。它是Apache软件基金会的一个...
总的来说,JBI开发指南(ServiceMix开发指南)是一份珍贵的资源,为开发者提供了一条学习JBI和ServiceMix的入门之路。通过这份指南,开发者可以掌握JBI规范的核心概念,包括JBI定义的消息交换模式和应用程序接口。而...
7. **适用于多个项目:** 可以作为路由和中介引擎用于 Apache ServiceMix(最流行和强大的分布式开源企业服务总线和 JBI 容器)、Apache ActiveMQ(最流行和强大的开源消息代理)、Apache CXF(智能 Web 服务套件)...
- **Apache ServiceMix**:最流行和强大的分布式开源ESB(企业服务总线)和JBI(Java Business Integration)容器。 - **Apache ActiveMQ**:最受欢迎和强大的开源消息代理。 - **Apache CXF**:一个智能的Web服务...
- Apache ServiceMix:最流行且强大的分布式开源企业服务总线(ESB)和 JBI 容器。 - Apache ActiveMQ:最受欢迎的开源消息代理。 - Apache CXF:一套智能 Web 服务套件(JAX-WS)。 - Apache MINA:网络框架。 ###...
- **Apache ServiceMix**:最流行且功能强大的分布式开源企业服务总线(ESB)和JBI容器之一。 #### 二、架构与特性 Apache Camel的设计旨在提供一种灵活且强大的集成解决方案。其核心架构特点包括: 1. **URI驱动**...
**四、入门实践——HelloWorld示例** 为了快速上手,我们可以创建一个简单的"HelloWorld"示例。首先,从Apache官方网站下载CXF的最新版本,例如这里使用的是2.2.2版本。然后,在Java项目中引入必要的依赖库,包括...
- **Apache ServiceMix**:这是最受欢迎且功能强大的分布式开源 ESB 和 JBI 容器。 - **Apache ActiveMQ**:这是最受欢迎且功能强大的开源消息代理。 - **Apache CXF**:这是一个智能 Web 服务套件(JAX-WS)。 - **...
- Apache ServiceMix:一个流行的分布式开源ESB和JBI。 - Apache ActiveMQ:一个成熟且广泛使用的开源消息代理。 - Apache CXF:一个智能的Web服务套件(包括JAX-WS和JAX-RS)。 - Apache Karaf:一个小型的基于OSGi...
- **Apache ServiceMix**:这是一个流行的分布式开源ESB(Enterprise Service Bus)和JBI(Java Business Integration)容器。 - **Apache ActiveMQ**:这是一个成熟的、广泛使用的开源消息代理。 - **Apache CXF...
- 企业级应用服务器:许多Java EE应用服务器,如Apache Karaf和Apache ServiceMix,都是基于OSGI技术构建的。 - 插件系统:OSGI常用于实现应用程序的插件系统,如Eclipse IDE和Jetty Web服务器都使用OSGI来实现其...
- `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运行时的...
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...
- 通过Yoko支持CORBA,通过Tuscany支持SCA,通过ServiceMix支持JBI。 - 内置Jetty应用服务器。 **二、CXF 入门示例** **HelloWorldService** 是一个经典的入门示例,展示了如何创建和发布一个简单的Web服务。 1...
- **集成能力**:CXF能够很好地与各种应用服务器集成,比如内置的Jetty应用服务器,同时还支持通过Yoko实现CORBA的支持,通过Tuscany支持SCA,通过ServiceMix支持JBI。 #### 二、CXF环境搭建与配置 CXF的安装非常...
【WebService CXF详解与入门】 WebService是一种允许不同系统之间进行通信和交互的标准协议,它基于HTTP协议,使得应用程序可以无视具体实现细节地调用互联网上的服务。这种技术使得分布式应用程序的发展成为可能,...