【发布时间】:2014-12-10 00:44:01
【问题描述】:
我正在一个独立应用程序中进行修改(使用 Spring),最后我发现在某些步骤中我需要使用 Spring Integration 来处理一些消息并将它们发送到 Mqtt 代理:我使用了一个 int-mqtt:出站通道适配器。为此,我已经声明:
<int:channel id="messages" />
<bean id="clientFactory" class="org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory">
<property name="userName" value="login"/>
<property name="password" value="${mqtt.password}"/>
</bean>
<int-mqtt:outbound-channel-adapter id="mqttPublishToMDD"
client-id="MM"
url="tcp://127.0.0.1:12345"
client-factory="clientFactory"
default-qos="0"
auto-startup="true"
default-retained="true"
channel="messages"
default-topic="mdd/nr" />
想法是,当我收到消息(事件)时,我会处理该消息,最后我自动连接通道,然后直接将消息发送到通道:
@Qualifier(value="messages")
@Autowired(required=false)
QueueChannel messageQueue;
所以我的第一个问题是,我应该这样使用它还是我需要指定一些服务激活器或网关..??
我的第二个问题是,我已经手动添加了所有 Spring-Integration 库,但是当我导入 org.springframework.integration.channel.QueueChannel 时,在库中找不到它(它是空的)。这正常吗?
【问题讨论】: