第 13 章 使用 JMS 代理进行部署


摘要

Fuse 7.7 不附带默认的内部代理,但它设计为与四个外部 JMS 代理的接口。

Fuse 7.7 容器包含支持的外部代理的代理客户端库。

如需有关可用于 Fuse 7.7 上消息传递的外部代理、客户端和 Camel 组件组合的更多信息,请参阅 支持的配置

13.1. AMQ 7 快速入门

提供了快速入门来演示使用 AMQ 7 代理的应用程序设置和部署。

下载快速入门

您可以从 Fuse Software Downloads 页面安装所有快速入门。

将下载的 zip 文件的内容提取到本地文件夹中,例如,名为 quickstarts 的文件夹。

设置快速入门

  1. 导航到 quickstarts/camel/camel-jms 文件夹。
  2. 输入 mvn clean install 以构建 Quickstart。
  3. 将文件 org.ops4j.connectionfactory-amq7.cfg/camel/camel-jms/src/main 目录复制到 Fuse 安装中的 FUSE_HOME/etc 目录。验证它的内容以获取正确的代理 URL 和凭证。默认情况下,代理 URL 在 AMQ 7 的 CORE 协议后被设置为 tcp://localhost:61616。凭据设置为 admin/admin。更改这些详情以适合您的外部代理。
  4. 通过在 Windows 上运行 ./bin/fuse on Linux 或 bin\fuse.bat 来启动 Fuse。
  5. 在 Fuse 控制台中输入以下命令:

    feature:install pax-jms-pool artemis-jms-client camel-blueprint camel-jms
    
    install -s mvn:org.jboss.fuse.quickstarts/camel-jms/${project.version}

    在部署捆绑包时,Fuse 将为您提供捆绑包 ID。

  6. 输入 log:display 以查看启动日志信息。检查以确保捆绑包已被成功部署。
12:13:50.445 INFO [Blueprint Event Dispatcher: 1] Attempting to start Camel Context jms-example-context
12:13:50.446 INFO [Blueprint Event Dispatcher: 1] Apache Camel 2.21.0.fuse-000030 (CamelContext: jms-example-context) is starting
12:13:50.446 INFO [Blueprint Event Dispatcher: 1] JMX is enabled
12:13:50.528 INFO [Blueprint Event Dispatcher: 1] StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
12:13:50.553 INFO [Blueprint Event Dispatcher: 1] Route: file-to-jms-route started and consuming from: file://work/jms/input
12:13:50.555 INFO [Blueprint Event Dispatcher: 1] Route: jms-cbr-route started and consuming from: jms://queue:incomingOrders?transacted=true
12:13:50.556 INFO [Blueprint Event Dispatcher: 1] Total 2 routes, of which 2 are started

运行快速启动

  1. 当 Camel 路由运行时,将创建 /camel/camel-jms/work/jms/input 目录。将 /camel/camel-jms/src/main/data 目录中的文件复制到 /camel/camel-jms/work/jms/input 目录。
  2. 复制到 …​/src/main/data 文件中的文件是订购文件。等待一分钟,然后检查 /camel/camel-jms/work/jms/output 目录。文件将根据其目标国家/地区排序为单独的目录:

    • order1.xml,order2.xmlorder4.xml in /camel/camel-jms/work/jms/output/others/
    • order3.xmlorder5.xml 位于 /camel/camel-jms/work/jms/output/us
    • order6.xml in /camel/camel-jms/work/jms/output/fr
  3. 使用 log:display 查看日志消息:
Receiving order order1.xml
Sending order order1.xml to another country
Done processing order1.xml
  1. Camel 命令将显示上下文详情:

使用 camel:context-list 显示上下文详情:

Context               Status              Total #       Failed #     Inflight #   Uptime
-------               ------              -------       --------     ----------   ------
jms-example-context   Started                  12              0              0   3 minutes

使用 camel:route-list 来显示上下文中的 Camel 路由:

Context               Route               Status              Total #       Failed #     Inflight #   Uptime
-------               -----               ------              -------       --------     ----------   ------
jms-example-context   file-to-jms-route   Started                   6              0              0   3 minutes
jms-example-context   jms-cbr-route       Started                   6              0              0   3 minutes

使用 camel:route-info 显示交换统计信息:

karaf@root()> camel:route-info jms-cbr-route jms-example-context
Camel Route jms-cbr-route
    Camel Context: jms-example-context
    State: Started
    State: Started

Statistics
    Exchanges Total: 6
    Exchanges Completed: 6
    Exchanges Failed: 0
    Exchanges Inflight: 0
    Min Processing Time: 2 ms
    Max Processing Time: 12 ms
    Mean Processing Time: 4 ms
    Total Processing Time: 29 ms
    Last Processing Time: 4 ms
    Delta Processing Time: 1 ms
    Start Statistics Date: 2018-01-30 12:13:50
    Reset Statistics Date: 2018-01-30 12:13:50
    First Exchange Date: 2018-01-30 12:19:47
    Last Exchange Date: 2018-01-30 12:19:47
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.