java - 如何根据配置动态创建多个jms消息驱动的通道适配器
问题描述
这是我的要求,需要配置 50 多个入站消费者来监听不同的队列。
spring 集成中是否有任何选项,我可以从配置中传递我的队列详细信息,并且应该创建相应的消费者 bean 并将其添加到我的应用程序上下文中。
之间,我使用 java 8 和 spring 4.3.4
任何帮助表示赞赏!
解决方案
为此,我们实施了动态流注册。
我知道您可能不使用 Spring Integration Java DSL,但是没有一种简单的方法可以在运行时注册 bean。
AnIntegrationFlowContext
也可用于 Spring Integration 4.3.x:您需要包含 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();
推荐阅读
- kotlin - Kotlin - ClassCastException 没有被捕获
- java - Selenium WebDriver:如何在 driver.findElement(
) - sql - 使用子查询和 Max 查询没有成功
- c# - 使用预先存在的私钥对文件进行签名以创建证书 (C#)
- ruby-on-rails - how to show a specific information from a string of User Agents string saved into my database
- angular - Angular 反应式自定义验证器不起作用
- api - Asp.Net Core - 从后端进行 API 调用
- wordpress - 如何在 wordpress 中更改 wp-config.php 中的数据库变量名称?
- java - Java程序中用什么方法对这个数字进行排序?
- java - Java - DateFormat 在转换日期时不起作用