gpt4 book ai didi

spring-integration - Spring Integration JMS DSL

转载 作者:行者123 更新时间:2023-12-04 02:06:14 30 4
gpt4 key购买 nike

我们在 XML 中有以下工作配置,并正在尝试转换为 DSL。不确定它们是否等效,也尝试使用 inboundAdapter。但是,我无法弄清楚如何在那里设置与并发相关的值。有人可以建议他们是否在 DSL 中使用了带有这些参数的 messageDrivenChannelAdapter 或 inboundAdapter 吗?

<jms:message-driven-channel-adapter 
id="inputChannelAdapter"
channel="inputChannel"
destination-name="inboundQueueName"
connection-factory="cachingConnectionFactory"
acknowledge="transacted"
header-mapper="defaultJmsHeaderMapper"
error-channel="errorChannel"
concurrent-consumers="10"
max-concurrent-consumers="20"/>



@Bean
public IntegrationFlow jmsInboundFlow() {
return IntegrationFlows
.from(Jms.messageDrivenChannelAdapter(cachingConnectionFactory)
.configureListenerContainer(c -> {
DefaultMessageListenerContainer container = c.get();
container.setSessionTransacted(true);
container.setSessionAcknowledgeModeName("");
container.setMaxConcurrentConsumers(30);
container.setConcurrentConsumers(20);
})
.destination(inboundQueueName).headerMapper(defaultJmsHeaderMapper)
.errorChannel("errorChannel"))
.channel(MessageChannels.queue("inputChannel"))
.get();
}


@Bean
public IntegrationFlow jmsInboundFlow1() {
return IntegrationFlows
.from(Jms.inboundAdapter(cachingConnectionFactory)
.configureJmsTemplate(t ->
t.deliveryPersistent(true).sessionTransacted(true).sessionAcknowledgeModeName(""))
.destination(inboundQueueName).headerMapper(defaultJmsHeaderMapper))
.channel(MessageChannels.queue("inputChannel"))
.get();
}

最佳答案

你用 DefaultMessageListenerContainer container = c.get(); 做什么是提供这些选项的正确方法。

还有一个变体,比如use Jms.container()工厂:

Jms.messageDrivenChannelAdapter(
Jms.container(this.jmsConnectionFactory, "containerSpecDestination")
.concurrentConsumers(20)
.maxConcurrentConsumers(30)
.get())

我们将在 Spring Integration 中看到 5.0我们如何改进 configureListenerContainer()为目标容器类推断通用类型,让流畅的 API 处理 JmsDefaultListenerContainerSpec直接。

参见 JIRA ticket关于这件事。

关于spring-integration - Spring Integration JMS DSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43158958/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com