本文通过一个ActiveMQ > AMQP的集成示例介绍应用集成对开源MQ消息代理能力的实现。

前提条件

  • 在阿里云容器服务Kubernetes版上创建了ActiveMQ服务,详细操作步骤请参见使用镜像快速创建无状态Deployment应用
  • 已经在ActiveMQ服务器创建主题和队列,本场景以主题Topic2和队列Queue2为例。

背景信息

通过集成流配置可以实现AMQP的消息代理功能,本场景展示的集成流通过AMQP把消息发布到ActiveMQ指定主题或者队列中的功能。

通过创建的集成,将完成以下动作:
  1. 从ActiveMQ指定队列Queue2中获取信息数据。
  2. 将获取到的数据发布到ActiveMQ的指定主题Topic2中。

创建连接

本示例中会用到ActiveMQ和AMQP,所以需要借助连接器创建对应的连接。

  • 创建ActiveMQ连接,详情请参见创建连接

    ActiveMQ连接器的参数说明请参见ActiveMQ

  • 创建AMQP连接,详情请参见创建连接

    AMQP连接器的参数说明请参见AMQP

创建空白集成

  1. 登录应用集成控制台
  2. 在左侧导航栏选择集成 > 集成列表
  3. 集成列表页面选择工作空间,单击新建集成
  4. 创建集成面板中创建方式选择为空白流,输入名称,然后单击创建
  5. 集成创建后,返回集成设计页面,选择接下来的操作。
    • 在页面左上角选择工作空间,然后在右上角单击保存,创建一个空集成。
    • 在页面左上角单击 ,在列表中单击Flow,创建集成流。详情请参见创建集成流

创建集成流

  1. 集成设计页面左上角单击 ,在列表中单击Flow,创建集成流。
    也可以在页面中单击点击创建,在列表中单击Flow,创建集成流。
  2. 选择触发器,实现从ActiveMQ指定主题或者队列获取消息。
    1. 创建新集成流对话框输入集成流名称,并选择之前创建的ActiveMQ连接作为触发器,然后单击创建创建ActiveMQ连接
    2. 选择operation对话框中订阅消息右侧,单击选择选择operation
    3. 步骤配置对话框中设置参数,然后单击确定步骤配置
      步骤配置参数说明:
      参数 描述
      目标名 接收消息的主题或队列,本文以队列Queue2为例。主题或队例需要在ActiveMQ服务器上配置。
      目标类型 接收消息的类型,根据实际情况选择队列或或者主题
      消息选择器 消息过滤表达式,满足表达式的消息才会被接收。
      持久订阅ID 为连接设置ID来保证连接关闭或重新打开时消息不丢失。连接类型需要是主题
    4. 设置inputDataShape对话框选择scheme列表中选择任意类型,然后单击创建选择scheme-任意类型
    创建完成后,集成流中即包括从指定目标获取数据的ActiveMQ触发器。触发器ActiveMQ-订阅消息
  3. 在集成流中添加AMQP,将从ActiveMQ获取的消息发布到AMQP的指定主题或者队列。
    1. 在集成流中订阅消息后单击
    2. 选择组件类型对话框单击Connection,然后单击之前新建的AMQP连接。
    3. 选择operation对话框中发布消息右侧,单击选择选择operation
    4. 步骤配置对话框设置参数,然后单击确定步骤配置-数据发送到指定目标
      步骤配置参数说明:
      参数 描述
      目标名称 发送数据到指定主题或队列的目标名称,本文以主题Topic2为例。主题或者队列需要在ActiveMQ服务器上配置。
      目标类型 根据实际情况选择Topic或者Queue
      是否持久化 是否持久化保证消息投递,默认不勾选。
    5. 设置inputDataShape对话框选择scheme列表中选择任意类型,然后单击创建选择scheme-任意类型
  4. 集成设计页面右上角单击保存,保存集成流。
    实现AMQP消息代理功能的集成流创建完成。开源MQ处理集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

部署集成

集成创建并保存后,需要对集成进行部署。详情请参见部署集成示例

结果验证

  • 验证AMQP的消息代理。
    1. 登录ActiveMQ服务器,向队列Queue2发送一条消息。
    2. 登录ActiveMQ服务器,查看主题Topic2中是否含有刚刚新发给队列Queue2的消息。
  • 验证集成部署是否正常运行。

    查看目标集成的执行记录,其执行日志状态是否为SUCCESS