Spring Integration:从默认的MQTT Paho客户端获取日志和处理回调

时间:2014-07-14 16:11:15

标签: spring spring-integration mqtt

下面是一个有趣的示例,通过MQTT使用标准出站通道适配器(而不是MQTT出站适配器)发送消息: https://github.com/joshlong/spring-integration-mqtt

作者实现了自己的消息处理程序,并将其传递给适配器。

现在我的问题是:是否可以使用MQTT出站适配器实现自定义消息处理程序?或者只能使用Spring Integration的通用出站通道适配器吗?

我的目标是获取日志并处理来自Paho客户端的回调,因此我可以处理连接错误,超时等...

1 个答案:

答案 0 :(得分:0)

Spring Integration 4.0为MQTT模块提供MqttPahoMessageHandler作为AbstractMqttMessageHandler的默认实现。

我会说您可以从MqttPahoMessageHandler延伸到达MqttCallback个愿望,但是,您可以仅从MessageHandler使用该自定义<int:outbound-channel-adapter ref="">实施。< / p>

开箱即用的<int-mqtt:outbound-channel-adapter>只适用于MqttPahoMessageHandler的人口,你无法改变这种行为。

从另一方面来说,当您开始从JavaConfig开始进行Spring Integration时,您将只与类进行交易,因此没有界限可以用自定义标记来重写:

@ServiceActivator(inputChannel = "sendToMqttChannel")
@Bean
public MessageHandler mqttHandler() {
   return new MyMqttPahoMessageHandler();
}