java - 如何声明两个出站 channel 适配器来发布不同的消息

标签 java spring rabbitmq spring-integration spring-integration-amqp

我已经声明了 int:chain 具有单个输入和输出 channel ,

<int:chain input-channel="InputChannel" output-channel="Channel">

      <int:transformer method = "transform" >
        <bean class="com.sampleconverter" />
      </int:transformer>
        <int:service-activator method="transform">
             <bean class="com.Transformer" />
        </int:service-activator>
     <int:object-to-string-transformer />
   </int:chain>

如何声明多个输出 channel ,每个输出 channel 具有不同的转换方法(不同的消息)

提前致谢

最佳答案

Spring Integration 中只有一个组件具有多输出 - 路由器

因此,您可以在链的末尾配置它,让它根据提供的条件决定将消息发送到哪个 channel 。

例如:

<payload-type-router>
    <mapping type="java.lang.String" channel="strings"/>
    <mapping type="java.lang.Number" channel="numbers"/>
</payload-type-router>

更多信息请参见 Reference Manual并在 Samples .

关于java - 如何声明两个出站 channel 适配器来发布不同的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45321114/

相关文章:

java - 如何使用 Spring 重新加载属性?

java - 当我们在集合中使用 for-each 构造进行迭代时,元素的顺序是什么?

java - Spring + hibernate : Initializing database with JUnit doesn't work

redis - 如果 celery worker 死得很惨,工作会重试吗?

rabbitmq - 如果每条消息都将路由到主节点,为什么要在 RabbitMQ 节点集群(相同队列)前面放置负载均衡器?

java - java中如何将ArrayList转成String[],Arraylist包含VO对象

java - 我可以从另一个使用 @Autowired 的项目调用方法吗?

spring - Spring Integration 定义的基于 Java 的容器配置

python-2.7 - 使用 pika connection.close() 给出 "WARNING:pika.adapters.base_connection:Unknown state on disconnect: 0"

java - Eclipse 中特殊属性的编码