ServiceMix(三) 部署简单的项目

来源:互联网 发布:香港恒生指数年度数据 编辑:程序博客网 时间:2024/04/30 00:24
在这部分里,有一点涉及到Camel的内容,不过很简单,camel就是用Url去描述端点的路由。

应用场景:
   在一个文件夹里放入文件的时候,将这个文件转移到另一个文件夹。

建立路由:
   任意建立一个xml文件如下(这里命名为blueprint.xml)
----------------------------------------------------------------------
<?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">
<camelContextxmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="file:camel/input"/>
<log message="Moving ${file:name} to the outputdirectory"/>
<to uri="file:camel/output"/>
</route>
</camelContext>
</blueprint>
----------------------------------------------------------------------
   这里camel描述的两个端点对应着from和to里的内容,也就是两个文件夹,同时将动作记录到日志里。Camel相关的内容在这里就不详细说明了。

部署:
   部署的过程很简单,把上面的xml文件放到<servicemix_home>/deploy下就可以了,然后servicemix会自动部署相应内容。

结果:
   <servicemix_home>下会出现camel文件夹,内含input文件夹,在其中放入文件,则会在camel下出现output文件夹,里面包含相同内容。可以在控制台使用log:display命令,看到如下的结果


使用控制台去操作:
   首先,通过osgi:list察看到blueprint.xml的id,然后通过osgi:stop/osgi:start +id  去停止/启动这个route。

心得:
   这部分内容有用到一点camel的知识,正好前段时间看过一点相关的内容,所以看起来比较容易懂。实际上不必去了解camel的内容也能知道servicemix是怎么部署项目的,简单的说,就是把项目直接放到<servicemix_home>/deploy下就可以了,因为servicemix是支持热部署的,所以它会自动监测deploy目录下的东西并进行部署。在此产生的两个疑问,一,deploy下放的东西(bundles)要遵循什么样的格式或者规则,二,servicemix的主要应用场景在哪里。