首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

Apache ServiceMix入门之4

2013-03-17 
Apache ServiceMix入门之四上节,我们尝试了camel-ftp component和file component组成的2个路由,可以看到两

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

首先,我们先准备一下环境,先在console下运行:



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

我们再用console命令:

我们再次输入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的消息的组件。

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的例子给大家参考。

热点排行