2.2. 构建 camel-jms 项目
您可以从 Fuse Software Downloads 页面下载 快速入门 信息。
将 zip 文件的内容提取到本地文件夹,例如一个名为 Quickstart 的新文件夹。
然后,您可以构建并安装 /camel/camel-jms 示例,作为 OSGi 捆绑包。此捆绑包包含 Camel 路由的蓝图 XML 定义,该路由将消息发送到 AMQ 7 JMS 队列。
在以下示例中,$FUSE_HOME 是解压缩的 Fuse 分发的位置。构建此项目:
调用 Maven 来构建项目:
cd quickstarts mvn clean install -f camel/camel-jms/
$ cd quickstarts $ mvn clean install -f camel/camel-jms/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 JMS 连接工厂配置,以便在 OSGi 运行时发布
javax.jms.ConnectionFactory服务。为此,请将快速入门/camel/camel-jms/src/main/resources/etc/org.ops4j.connectionfactory-amq7.cfg复制到$FUSE_HOME/etc目录中。此配置将进行处理,以创建正常工作的连接工厂。例如:cp camel/camel-jms/src/main/resources/etc/org.ops4j.connectionfactory-amq7.cfg ../etc/
$ cp camel/camel-jms/src/main/resources/etc/org.ops4j.connectionfactory-amq7.cfg ../etc/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证公布的连接工厂:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装捆绑包:
karaf@root()> install -s mvn:org.jboss.fuse.quickstarts/camel-jms/7.0.0.redhat-SNAPSHOT Bundle ID: 256
karaf@root()> install -s mvn:org.jboss.fuse.quickstarts/camel-jms/7.0.0.redhat-SNAPSHOT Bundle ID: 256Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认它正在运行:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Camel 路由启动后,您可以在 Fuse 安装中看到一个目录
work/jms/input。将您在此 Quickstart 的src/main/data目录中找到的文件复制到新创建的work/jms/input目录中。 稍等片刻,您将在
work/jms/output目录下找到由国家组织相同的文件:-
在
work/jms/output/others中,order1.xml、order2.xml和order4.xml -
work/jms/output/us中的order3.xml和order5.xml -
work/jms/output/fr中的order6.xml
-
在
查看日志以查看业务日志:
2018-05-02 17:20:47,952 | INFO | ile://work/jms/input | file-to-jms-route | 58 - org.apache.camel.camel-core - 2.21.0.fuse-000077 | Receiving order order1.xml 2018-05-02 17:20:48,052 | INFO | umer[incomingOrders] | jms-cbr-route | 58 - org.apache.camel.camel-core - 2.21.0.fuse-000077 | Sending order order1.xml to another country 2018-05-02 17:20:48,053 | INFO | umer[incomingOrders] | jms-cbr-route | 58 - org.apache.camel.camel-core - 2.21.0.fuse-000077 | Done processing order1.xml
2018-05-02 17:20:47,952 | INFO | ile://work/jms/input | file-to-jms-route | 58 - org.apache.camel.camel-core - 2.21.0.fuse-000077 | Receiving order order1.xml 2018-05-02 17:20:48,052 | INFO | umer[incomingOrders] | jms-cbr-route | 58 - org.apache.camel.camel-core - 2.21.0.fuse-000077 | Sending order order1.xml to another country 2018-05-02 17:20:48,053 | INFO | umer[incomingOrders] | jms-cbr-route | 58 - org.apache.camel.camel-core - 2.21.0.fuse-000077 | Done processing order1.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看队列是否动态创建:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 Camel 路由统计信息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow