gpt4 book ai didi

spring - DefaultJmsListenerContainerFactory 与 DefaultMessageListenerContainer

转载 作者:行者123 更新时间:2023-12-03 23:10:52 24 4
gpt4 key购买 nike

使用DefaultJmsListenerContainerFactory有什么好处在 DefaultMessageListenerContainer ?

  • 如果我直接配置 DMLC,我会通过调用 isRunning() 获得检查状态的句柄。 .我也有一个工具来启动和停止 DMLC
  • 但是,根据新的 Spring 规范,如果我配置 DefaultJmsListenerContainerFactory ,我不了解 DMLC,所以我无法进行上述任何操作。

  • 所以看看上面的限制,有人可以解释为什么应该使用 DefaultJmsListenerContainerFactory过DMLC

    另外,如果我使用 DefaultJmsListenerContainerFactory ,实现上述功能的方法有哪些?

    最佳答案

    引入工厂以支持为 @JmsListener 创建监听器容器带注释的 POJO 方法。

    如果您不使用该机制,您可以继续直接定义您的 DLMC。

    编辑

    使用时@JmsListener ,容器本身没有注册为 bean,但可以使用注册 bean 使用;您可以获得对容器的引用,以便您可以启动/停止等。

    javadocsJmsListenerEndpointRegistry了解如何通过 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()要以编程方式创建端点,您必须为它们提供容器而不是容器工厂。

    关于spring - DefaultJmsListenerContainerFactory 与 DefaultMessageListenerContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33406925/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com