kettle插件-kettle读取ActiveMQ Classic数据插件
场景:
群里有小伙伴寻求帮助,需要使用kettle来读取ActiveMQ Classic中的数据,有使用过ActiveMQ的小伙伴知道kettle中自带的jms步骤只能读取ActiveMQ Artemis中的数据,
有难度才有挑战,经过几个晚上的调试终于搞定了,今天来梳理下教程,金老师,上demo。

1、下载&安装ActiveMQ Classic
登录官网下载ActiveMQ,本次教程使用的是apache-activemq-5.16.8,下载apache-activemq-5.16.8-bin.tar.gz之后解压缩。

2、启动ActiveMQ 服务
启动命令为./activemq start,启动之后浏览器访问http://localhost:8161/,用户名和密码都是admin。
点击Queues, Queue Name 输入xiaojingang,点击按钮Create 创建队列。

3、将自研插件kettle-activemq-plugin-1.0放到kettle的plugins目录下面,重启spoon。
在目录Streaming 目录下面可以看到ActiveMQ生产者和消费者插件,今天我们来讲解下ActiveMQ消费者。

4、设计流程
本次使用的步骤有ActiveMQ Consumer 、JSON input 和写日志三个步骤。
1)ActiveMQ Consumer 从ActiveMQ的队列 queue中读取数据。
2)JSON input 解析读取到的message数据。
3)记录日志。

5、ActiveMQ Consumer 设置
设置ActiveMQ 地址和队列,如下图所示:

设置流读取结果字段,如下图所示:

子转换read_stream设置如下图所示:

6、json input 配置
设置待解析字段为message,如下图所示:

使用jsonpath 方式从json数据中提取字段,如下图所示

7、保存&运行。
手动往ActiveMQ 发送消息,消息内容为{"userName":"Java小金刚","age":"18","geyan":"与凤凰同飞,必是俊鸟;与虎狼同行,必是猛兽"},如下图所示:

8、接收数据
可以正常接收到message数据和正常解析mesage数据,如下图所示,done!!!


浙公网安备 33010602011771号