本文介绍通过AMQP实现获取ActiveMQ队列内容并发布到主题。

前提条件

背景信息

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

本文创建的集成将实现以下功能:
  1. 从ActiveMQ指定队列Queue2中获取信息数据。
  2. 通过AMQP将获取到的数据发布到ActiveMQ的指定主题Topic2中。

创建连接

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

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

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

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

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

创建空白集成

  1. 登录应用集成控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,选择集成 > 集成列表
  4. 集成列表页面,选择目标工作空间,然后单击新建集成
  5. 新建集成面板,选择创建方式为空白流,选择目标环境,输入集成名称,然后单击创建
  6. 集成创建后,进入集成设计页面,在页面右上角单击保存

创建集成流

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

部署集成

集成创建并保存后,需要对集成进行部署。具体操作,请参见部署集成示例

结果验证

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

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