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!!!

 

 

posted @ 2025-07-18 13:42  慕容尘轩  阅读(54)  评论(0)    收藏  举报