Spring 使用BeanFactoryPostProcessor的DefaultJmsListenerContainer

Spring 使用BeanFactoryPostProcessor的DefaultJmsListenerContainer,spring,jms,spring-jms,Spring,Jms,Spring Jms,我目前正在尝试在我的应用程序中支持动态多jms提供程序场景。到目前为止,我确实实现了使用后处理器创建DefaultMessageListenerContainer。最酷的部分是DefaultMessageContainerListener具有destinationName属性,您可以在其中轻松设置要侦听/发送消息的队列 但是,DefaultJmsListenerContainerFactory没有设置队列名称的方法。我确实到达了DefaultJmsListenerContainerFactory

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

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

beanDefinitionRegistry.registerBeanDefinition(“messageListenerContainer”,
BeanDefinitionBuilder.rootBeanDefinition(DefaultJmsListenerContainerFactory.class)
.addPropertyReference(“connectionFactory”、“queueConnectionFactory”)
.addPropertyReference(“destinationResolver”、“jndiDestinationResolver”)
.addPropertyValue(“并发”,并发)
.addPropertyValue(“sessionAcknowledgeMode”,Session.AUTO_ACKNOWLEDGE)
.getBeanDefinition()
);

但正如您所看到的,我无法设置用于侦听的队列端点。我如何从这里做到这一点?

您在哪里定义
jndiDestinationResolver
?与我创建listenerContainer的方法相同
registerBeanDefinition
使用
JndiDestinationResolver.class
的定义,并添加
JNDemplate
的属性作为bean引用,
缓存
作为属性