【发布时间】:2014-07-21 03:17:07
【问题描述】:
我想以编程方式按需创建以下 XML 配置:
<int-mqtt:message-driven-channel-adapter id="inboundAdapter"
client-id="${mqtt.client.id}"
url="${mqtt.broker.url}"
topics="${mqtt.subscribed.topics}"
client-factory="clientFactory"
channel="input-channel-1" converter="customConverter" />
<int:channel id="input-channel-1">
<int:queue/>
<int:interceptors>
<int:wire-tap channel="logger"/>
<int:ref bean="messageListener"/>
</int:interceptors>
</int:channel>
<int:channel id="logger" />
<int:logging-channel-adapter channel="logger"
auto-startup="true" level="INFO" id="loggerAdapter" log-full-message="true" />
我能做的如下
CustomMqttPahoMessageDrivenChannelAdapter adapter = new CustomMqttPahoMessageDrivenChannelAdapter(url, clientId, topic);
adapter.setOutputChannel(outputChannel);
adapter.setConverter(ctx.getBean("customConverter", MyPahoMessageConverter.class));
现在我需要添加拦截器 bean,通过它每个客户端将在消息到达时分别根据他们订阅的主题得到通知。
我想要实现的是:
1) 客户端连接服务器时创建mqtt适配器。(每个客户端将根据配置订阅不同的主题)
2) 客户端断开连接时释放 mqtt 适配器。
谁能帮我解决这个问题?
【问题讨论】:
标签: spring spring-integration mqtt