上节介绍了一个简单的Camel的小例子,在例子中,介绍了Camel的Componet、Endpoint、URI的概念,总结起来就是:
1、Component就是Endpoint的实例工厂;
2、在编排的camel路由中,Componet是用URI来表示的;
3、每个camel路由都有一个信息的来源Endpoint,并通过路由流过/流向目的Endpoint。
上节举了一个file component的例子,下面再举几个其它Component的例子,以开视听:
<?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"
default-timeout="0">
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="file:c:/inbox"/>
<to uri="file:c:/outbox"/>
</route>
<route>
<from uri="sftp://username@xxx.xxx.xxx.xxx//home/inbox?password=******&stepwise=false" />
<to uri="file:c:/inbox"/>
</route>
</camelContext>
</blueprint>
上例在上节的例子中的camelContext下增加了一个route,就是定义了第二个路由,这个路由用了camel-ftp component,这个component支持FTP、SFTP和FTPS三种协议,例子用了sftp协议。
由于camel-ftp component并不是ServiceMix默认安装的,所以需要在console运行安装:
karaf@root>feature:install camel-ftp
为了日后自动装有该component,可以在<servicemix_root>/etc/org.apache.karaf.features.cfg里找到
featuresBoot=karaf-framework,config,activemq-broker,activemq-spring,cxf-specs,camel,camel-activemq,camel-cxf,camel-blueprint,war,camel-ftp
在这行后面加上",camel-ftp"。
要运行以上例子,需要找个ssh(Secure Shell)服务器,将例子中的xxx.xxx.xxx.xxx替换成服务器IP,username替换成ssh的登录用户名,******替换成ssh的登录密码,/home/inbox部分则替换成ssh服务器上的某个目录。
部署好后,试试在ssh服务器里,复制一个文件到/home/inbox目录下,你就会在servicemix运行的机器上的C:\outbox下找到那个文件。
整个过程就是:文件被复制到/home/inbox后,就被新的路由定义的camel-ftp endpoint轮询到,用sftp协议下载到C:\inbox下,然后又由于第一个路由定义的“file:/c:/inbox"的endpoint轮询到,交给"file:/c:/outbox"的endpoint复制到C:\outbox目录下。
下次再举个quartz、direct、log和activemq的component的例子。
分享到:
相关推荐
Apache ServiceMix Specs :: JAXP API 1.3
servicemix:Apache ServiceMix
org.apache.servicemix.bundles.xmlbeans-2.4.0_1.jar
servicemix5:Apache ServiceMix 5的镜像
gooddata-http-client.zip,能够处理gooddata身份验证的http客户端处理gooddata身份验证的专用java客户端
mysql-binlog-connector-java.zip,mysql二进制日志连接器mysql二进制日志连接器
java-game-server.zip,nadron是一个基于socket的高速java游戏服务器,使用netty和mike rettig的jetlang编写。它专门针对基于网络的多人游戏进行了调整,并支持TCP和UDP网络协议。
smaller-dev-server.zip,一个开发服务器,利用较小的程序为本地
fuse esb 第二部分。总共分割了五分
servicemix-bundles:Apache ServiceMix捆绑包的镜像
官网下的实在太慢了................................
How does ServiceMix compare to Tuscany or SCA
apache-servicemix-3.3-src.zip
快速入门指南 ServiceMix4.x ServiceMix4 教程 手册 启动 指南
kiln-java-adaptor.zip,回转窑测井服务适配器回转窑测井服务适配器
创建3个表示形式: 包含文档webapp的战争文件pdf文件(位于target/sitegen/manual.pdf ) 使用相同模板(位于target/sitegen )生成的静态网站将文档发布到网站如果您是Apache ServiceMix提交者,则可以使用以下命令
minify-maven-plugin.zip,合并和最小化javascript和css文件以加快页面加载速度。合并和最小化javascript和css文件以加快页面加载速度。
embedly-java.zip,用于api的嵌入式客户端库和用于embed.ly api的projava客户端
stackable-controller.zip,Play2.x的可堆叠控制器可压缩动作组合框架
android-constrained-widgets.zip,android小部件的android set的一组宽高比受限小部件,它将遵守给定的宽高比