在没有 springboot 自动配置的情况下创建监听器

问题描述 投票:0回答:1

我有一个用例,我需要在运行时根据某些配置以编程方式启动侦听器。

我想知道如何在运行时注册 pulsar 监听器而不使用静态

@PulsarListener
注释。

谢谢你

spring-pulsar
1个回答
0
投票

目前的工作方式如下:

PulsarListenerAnnotationBeanPostProcessor
扫描所有
@PulsarListener
,对于每一个它......

  • 要求
    PulsarListenerEndpointRegistrar
    将端点注册到容器工厂
  • 注册商依次要求
    PulsarListenerEndpointRegistry
    注册端点和容器工厂
  • 注册表依次创建容器(使用工厂)
  • registry 处理所有已注册容器的生命周期(启动/停止)(即,当注册表 bean 启动时,它会旋转并在所有已注册容器上调用 start)

这是一个更不常见的用例,因此没有内置支持在应用程序启动后动态注册容器/注册表。

但是,您可以创建自己的容器实例并通过手动启动/停止它们来自行处理生命周期方法(例如此处)。

我将在接下来的 24-48 小时内提供一个原型,详细介绍上述内容的几种变体,但希望快速为您提供上述初步信息。

© www.soinside.com 2019 - 2024. All rights reserved.