我目前正在处理我的第一个SpringXD流。它应该接收MQTT主题上的消息,对服务执行HTTP POST,并在另一个MQTT主题上发布此结果。
目前,我正忙于发布与最初的主题不同的MQTT主题。
这是我的小溪:
stream create test --definition "in:mqtt --url='tcp://hivemq:1883' --topics='+/+/+/my/downlink' --username='test' --password='test' --clientId='client_downlink'
| header-enricher --headers={\"mqtt_topic\":\"headers['mqtt_topic'].replace('/downlink', '/uplink')\"}
| out:mqtt --url='tcp://hivemq:1883' --username='test' --password='test' --clientId='client_uplink'" --deploy方法是在发布的头‘/downlink’中将"/uplink“替换为”/uplink“,但是header不会覆盖现有的标头值,因此发布的主题与我们接收消息的主题相同。
知道我怎么能做到这一点吗?
发布于 2015-10-28 12:42:42
我正在为此做一个改进。同时,您可以编辑header-充实她的groovy脚本modules/processor/header-enricher/config/header-enricher.groovy并进行以下更改:
si.'header'(name:k,expression:v,overwrite:true)https://stackoverflow.com/questions/33387778
复制相似问题