下面是一个有趣的示例,通过MQTT使用标准出站通道适配器(而不是MQTT出站适配器)发送消息: https://github.com/joshlong/spring-integration-mqtt
作者实现了自己的消息处理程序,并将其传递给适配器。
现在我的问题是:是否可以使用MQTT出站适配器实现自定义消息处理程序?或者只能使用Spring Integration的通用出站通道适配器吗?
我的目标是获取日志并处理来自Paho客户端的回调,因此我可以处理连接错误,超时等...
答案 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();
}