使用BeanFactoryPostProcessor的DefaultJmsListenerContainer

我目前正在尝试在我的应用程序中支持动态多个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()
);

但是如您所见,我无法设置队列端点进行侦听。我该怎么办?

wubuwei111 回答:使用BeanFactoryPostProcessor的DefaultJmsListenerContainer

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2771644.html

大家都在问