吴密的博客

每天进步一点点
posts - 12, comments - 1, trackbacks - 0, articles - 1

2015年4月10日

在本章我们介绍在serviceMIx 中图和使用 ActiveMQ、features命令,入门的3篇文章来自
http://servicemix.apache.org/docs/5.0.x/quickstart/index.html,有兴趣的可以再去看看英文的。

ActiveMQ
    每个
Apache ServiceMix的实例是一个嵌入式activemq jms代理,这样可以很方便的在同一台机器上使用持久消息来通信,
但是它也支持集群和负载均衡。
   在这个实例中,我们依然像上个例子一样,在2个目录中移动文件,把记录日志的部分改为发送一条jms消息到消息队列,
然后再创建一个新的route来接受事件并记录日志:
?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"
    xsi:schemaLocation="
      http://www.osgi.org/xmlns/blueprint/v1.0.0
      http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">

    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
      <route>
        <from uri="file:activemq/input"/>
        <to uri="file:activemq/output"/>

        <setBody>
          <simple>
            FileMovedEvent(file: ${file:name}, timestamp: ${date:now:hh:MM:ss.SSS})
          </simple>
        </setBody>
        <to uri="activemq://events" />
      </route>
    </camelContext>
</blueprint>

   保存这个文件,并且放到serviceMix的deploy目录,会看到复制到 activemq/input 目录中的文件被复制到 activemq/output 

   接受消息
   在第一个文件中,除了复制文件,你看不到任何的log记录。它发送了jms消息,但是没有接受者,我们可以创建一个route来接受消息:

<?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"
    xsi:schemaLocation="
      http://www.osgi.org/xmlns/blueprint/v1.0.0
      http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
      <route>
        <from uri="activemq://events"/>
        <to uri="log:events"/>
      </route>
    </camelContext>
</blueprint>

  你可以通过log:display来查看日志消息。你可以通过osgi:start 和 osgi:stop来启动和关闭这个bundle.当你重启完第一个bundle后,你收到所有文件移动后发出
的消息事件。

    features命令

karaf@root> features:list | grep camel
[uninstalled] [5.4.0           ] examples-activiti-camel                 servicemix-examples-5.4.0
[uninstalled] [5.4.0           ] examples-akka-camel                     servicemix-examples-5.4.0


karaf@root> features:install webconsole

karaf@root> features:list | grep webconsole
[installed  ] [2.4.1           ] webconsole                              karaf-2
.4.1               Karaf WebConsole for administration and monitoring

    通过features:install webconsole可以安装  webconsole bundle,成功后你可以通过  http://localhost:8181/system/console  用户名密码:smx/smx来
登录
,可以通过浏览器来上传、启动,停止bundle。

posted @ 2015-04-10 15:37 xiaolang 阅读(5161) | 评论 (0)编辑 收藏