我在独立应用程序中修改(使用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;
所以我的第一个问题是,我应该像那样使用它,还是需要指定一些Service-Activator或Gateway .. ??
我的第二个问题是,我手动添加了所有Spring-Integration lib,但是当我导入org.springframework.integration.channel.QueueChannel时,在lib中找不到它(它是空的)。这是正常的吗?
答案 0 :(得分:0)
MessageChannel
注射。org.springframework.integration.channel.QueueChannel
是spring-integration-core
jar的一部分。请确保在CLASSPATH中有它。