【发布时间】:2014-05-28 15:14:20
【问题描述】:
是否有手动启动/初始化通道适配器的方法?
我的 context.xml 中有两对入站/出站适配器,我想在运行时决定要开始使用其中的哪一个。
编辑:
具体场景:
我有一个客户端,可以在运行时配置为 mqtt 发布者或订阅者。
我的 context.xml 看起来像这样:
<int-mqtt:message-driven-channel-adapter
client-id="foo"
auto-startup="true"
url="tcp://192.168.97.164:1883"
topics="testtopic/#"
channel="writeToFile" />
<file:outbound-channel-adapter
id="writeToFile"
auto-startup="true"
directory="./test/out"
delete-source-files="false"/>
<int:transformer id="Transformer"
ref="MessageTransformer"
input-channel="readFromFile"
output-channel="mqttOut"
method="bytesFromFile" />
<bean id="MessageTransformer" class="MessageTransformer"/>
<int-mqtt:outbound-channel-adapter
id="mqttOut"
client-id="foo"
url="tcp://192.168.97.164:1883"
auto-startup="false"
default-qos="1"
default-retained="true"
default-topic="testtopic/bla"
/>
<file:inbound-channel-adapter
auto-startup="false"
id="readFromFile"
directory="./test/in"
filename-pattern="myFile*">
<int:poller id="poller"
fixed-rate="5000" />
</file:inbound-channel-adapter>
如您所见,我有两个设置:
1.订阅者案例:读取mqtt消息->写入文件
2. Publisher案例:从目录轮询文件->通过mqtt发送
我在运行时决定要应用什么设置。
那么你能告诉我这个控制总线的东西如何适合这里吗?
【问题讨论】:
标签: java spring spring-integration