第 9 章 将 Camel 应用程序与 A-MQ 代理集成


本教程介绍了如何使用 A-MQ 镜像部署快速入门。

9.1. 构建和部署 Spring Boot Camel A-MQ 快速入门

此快速入门演示了如何将 Spring Boot 应用程序连接到 AMQ Online,并在使用 OpenShift 上的 Fuse 的两个 Camel 路由之间使用 JMS 消息传递。

先决条件

流程

  1. 以开发者身份登录 OpenShift 服务器。

    oc login -u developer -p developer
  2. 登录 openshift 项目。

    oc project openshift
  3. 使用 Maven 工作流创建 Quickstart 项目。

    mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \
    -DarchetypeCatalog=https://maven.repository.redhat.com/ga/io/fabric8/archetypes/archetypes-catalog/2.2.0.fuse-sb2-7_11_1-00018-redhat-00002/archetypes-catalog-2.2.0.fuse-sb2-7_11_1-00018-redhat-00002-archetype-catalog.xml \
    -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \
    -DarchetypeArtifactId=spring-boot-camel-amq-archetype \
    -DarchetypeVersion=2.2.0.fuse-sb2-7_11_1-00018-redhat-00002
  4. archetype 插件切换到交互模式,以提示您输入剩余的字段。

    Define value for property 'groupId': : org.example.fis
    Define value for property 'artifactId': : fuse77-spring-boot-camel-amq
    Define value for property 'version':  1.0-SNAPSHOT: :
    Define value for property 'package':  org.example.fis: :
    Confirm properties configuration:
    groupId: org.example.fis
    artifactId: fuse77-spring-boot-camel-amq
    version: 1.0-SNAPSHOT
    package: org.example.fis
    Y: :Y

    出现提示时,为 groupId 值输入 org.example.fis,为 artifactId 值输入 fuse77-spring-boot-camel-amq。接受剩余字段的默认值。

  5. 导航到 quickstart 目录 fuse77-spring-boot-camel-amq

    cd fuse77-spring-boot-camel-amq
  6. 运行以下命令,将配置文件应用到 AMQ Online。这些配置文件创建 AMQ Online 用户和队列,两者都具有 admin 特权。

    oc login -u system:admin
    oc apply -f src/main/resources/k8s
  7. 运行 mvn 命令,将 Quickstart 部署到 OpenShift 服务器。

    mvn fabric8:deploy -Popenshift
  8. 验证 Quickstart 是否已成功运行:

    1. 导航到浏览器中的 OpenShift Web 控制台(https://OPENSHIFT_IP_ADDR,将 OPENSHIFT_IP_ADDR 替换为集群的 IP 地址),并使用您的凭证(例如,使用用户名 developer 和密码 developer)登录控制台。
    2. 在左侧面板中,展开 Home,然后单击 Status 以查看 openshift 项目的 Project Status 页面。
    3. fuse77-spring-boot-camel-amq 查看 Quickstart 的 Overview 信息页面。
    4. 在左侧面板中,展开 Workloads
    5. 单击 Pods,然后单击 fuse77-spring-boot-camel-amq-xxxxx。此时会显示 Quickstart 的 pod 详情。
    6. Logs 查看应用程序的日志。

      输出显示消息被成功发送。

      10:17:59.825 [Camel (camel) thread #10 - timer://order] INFO  generate-order-route - Generating order order1379.xml
      10:17:59.829 [Camel (camel) thread #8 - JmsConsumer[incomingOrders]] INFO  jms-cbr-route - Sending order order1379.xml to the UK
      10:17:59.829 [Camel (camel) thread #8 - JmsConsumer[incomingOrders]] INFO  jms-cbr-route - Done processing order1379.xml
      10:18:02.825 [Camel (camel) thread #10 - timer://order] INFO  generate-order-route - Generating order order1380.xml
      10:18:02.829 [Camel (camel) thread #7 - JmsConsumer[incomingOrders]] INFO  jms-cbr-route - Sending order order1380.xml to another country
      10:18:02.829 [Camel (camel) thread #7 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Done processing order1380.xml
  9. 要查看 Web 界面上的路由,请点 Open Java Console 并检查 AMQ 队列中的信息。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.