使用BeanFactoryPostProcessor的DefaultJmsListenerContainer

问题描述 投票:0回答:1

我目前正在尝试在我的应用程序中支持动态多个jms提供程序方案。到目前为止,我确实使用后处理器创建了DefaultMessageListenerContainer。最酷的部分是DefaultMessageContainerListener具有destinationName属性,您可以在其中轻松设置要侦听/发送消息的队列。

但是,DefaultJmsListenerContainerFactory没有这样的方法来设置队列名称。我确实到达了SimpleJmsListenerEndpoint用来启动容器的DefaultJmsListenerContainerFactory附近。但是我找不到如何设置它。请在下面查看我到目前为止所做的事情。

beanDefinitionRegistry.registerBeanDefinition("messageListenerContainer", 
    BeanDefinitionBuilder.rootBeanDefinition(DefaultJmsListenerContainerFactory.class)
                         .addPropertyReference("connectionFactory", "queueConnectionFactory")
                         .addPropertyReference("destinationResolver", "jndiDestinationResolver")
                         .addPropertyValue("concurrency", concurrency)
                         .addPropertyValue("sessionAcknowledgeMode", Session.AUTO_ACKNOWLEDGE)
                         .getBeanDefinition()
);

但是如您所见,我无法设置队列端点进行侦听。我如何从这里开始?

spring jms spring-jms
1个回答
0
投票

您能够弄清楚如何设置队列名称。我正在解决相同的问题。连接到多个不同代理上的队列。

© www.soinside.com 2019 - 2024. All rights reserved.