引入工厂是为了支持为带
@JmsListener注释的POJO方法创建侦听器容器。
如果不使用该机制,则可以继续直接定义DLMC。
编辑
使用时
@JmsListener,容器本身不会注册为bean,但是可以使用注册bean来使用;您可以获得对该容器的引用,因此可以启动/停止等。
请参阅的javadoc为
JmsListenerEndpointRegistry如何通过ID或所有单独去的容器引用。
编辑2
我不确定您在评论3中的意思;注册表包含所有容器,无论使用哪个容器工厂创建容器…
@JmsListener(id="foo", destination="foo", containerFactory="one")public void listen1(String payload) { System.out.println(payload + "foo");}@JmsListener(id="bar", destination="bar", containerFactory="two")public void listen2(String payload) { System.out.println(payload + "bar");}如果
configureListenerContainers()用于以编程方式创建端点,则必须为它们提供容器而不是容器工厂。



