Spring-Integration:我们可以在没有Maven的独立项目中使用它

时间:2014-10-15 03:38:13

标签: spring spring-integration

我在独立应用程序中修改(使用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中找不到它(它是空的)。这是正常的吗?

1 个答案:

答案 0 :(得分:0)

  1. 是的,如果你的申请非常简单,你可以使用MessageChannel注射。
  2. org.springframework.integration.channel.QueueChannelspring-integration-core jar的一部分。请确保在CLASSPATH中有它。