如何基于配置动态创建多个jms消息驱动的通道适配器

时间:2018-05-24 09:07:57

标签: java spring-integration

这是我的要求,它有超过50个入站消费者来监听需要配置的不同队列。

Spring集成中是否有任何选项,我可以从配置中传递队列详细信息,并且应创建相应的使用者bean并将其添加到我的应用程序上下文中。

之间,我使用带有弹簧4.3.4的java 8

任何帮助表示赞赏!!

1 个答案:

答案 0 :(得分:0)

为此,我们实施了Dynamic Flows Registration

我知道你可能不会使用Spring Integration Java DSL,但是没有一种简单的方法可以在运行时注册bean。

Spring Integration 4.3.x也可以使用IntegrationFlowContext:您需要包含Spring Integration Java DSL的扩展:https://github.com/spring-projects/spring-integration-java-dsl/

这样你就可以在代码中做到这样的事情:

 IntegrationFlow flow = f -> 
          IntegrationFlows.from(
               Jms.messageDriverChannelAdapter(this.connectionFactory)
                    .destination(aDestinationName))
                 .channel(channelToSend)
                 get();

    IntegrationFlowRegistration theFlow = this.flowContext.registration(flow).register();