0
我想将以下内容转换为spring-integration java dsl。使用Java DSL设置pub-sub-domain
<int:channel id="partsSubscriberChannel" />
<int-jms:message-driven-channel-adapter
id="jmsPartsInbound"
acknowledge="transacted"
destination-name="parts.topic"
channel="partsSubscriberChannel"
pub-sub-domain="true"
connection-factory="jmsConnectionFactory"/>
这是我最高:
@Bean
public MessageChannel partsErrorChannel() {
return new DirectChannel();
}
@Bean
public MessageChannel partsSubscriberChannel() {
return new DirectChannel();
}
@Bean
public IntegrationFlow partsSubscription(ConnectionFactory connectionFactory) {
return IntegrationFlows
.from(Jms.messageDriverChannelAdapter(connectionFactory)
.id("partsJmsSubscriber")
.destination(Topic.PARTS.getName())
.outputChannel(partsSubscriberChannel())
.errorChannel(partsErrorChannel()))
.get();
}
如何设置pub-sub-domain
和acknowledge
XML属性?
感谢,并AbstractMessageListenerContainer类需要一个@Bean?原因是我将创建许多不同的主题,所以Topic.PARTS.getName()会传递一个参数。 – jax
不,它不会,只要您不需要稍后将其作为参考(例如在运行时更改并发消费者等)。顺便说一下,我之前创建了一个[拉请求](https://github.com/spring-projects/spring-integration-java-dsl/pull/41),以将工厂方法添加到'Jms'来构建容器。但是,在将它集成到发行版之前还有一段时间。 –
我现在实际上在类[javax.jms.Session]'中找不到'org.springframework.core.ConstantException:Field'AUTO'。 – jax