使用pentaho中的jms producer将mysql数据库中的数据行转换为队列

时间:2019-05-12 05:48:17

标签: pentaho pentaho-data-integration

我想从数据库中读取数据并将每行数据发送到一个队列。但是在jms生产者编辑器中,我只能选择每一行的一列作为消息字段。

例如: 我有一个带有(id,name,family,address,postcode)字段的表。我需要将每一行数据发送到队列。但是在jms producer编辑器中,有一个消息字段下拉列表,这使我只能选择上述字段之一作为消息字段(例如id或name或family ...) 如何将整行数据作为一条消息发送到队列。

1 个答案:

答案 0 :(得分:0)

我对JMS不熟悉,但是这种情况要求将数据包装成可以作为消息发布的格式。

我将使用JSON输出步骤,将每一行变成一个JSON对象(进入消息字段)。将其配置为输出值而不是文件,并将块中的Nr行设置为1。在“字段”选项卡上,包括要迁移的所有字段。

XML输出也是一个选项。无论哪种方式,您都可能需要转义已编译消息上的所有HTML / XML代码和/或将其包装在CDATA标记中,具体取决于行的内容。

在接收方,然后可以将JSON解码回字段。您将丢失确切的数据类型和长度元数据,需要分别进行验证。