我目前正在尝试在我的应用程序中支持动态多个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()
);
但是如您所见,我无法设置队列端点进行侦听。我该怎么办?