当前位置: 首页 > 知识库问答 >
问题:

Kafka -延迟绑定,直到复杂的服务初始化完成

皇甫聪
2023-03-14

我使用的是Spring Cloud Stream Kafka,但我有一个特殊的服务,它有一个复杂的启动依赖(长时间运行),可能非常脆弱,所以我希望延迟Kafka(消费者)绑定,直到确认成功初始化。

我怎样才能做到这一点?

共有1个答案

祁通
2023-03-14

目前无法通过春云流实现;你可以直接使用 Spring Kafka(例如 @KafkaListener)并将容器工厂autoStartup 设置为 false。或者使用 Spring Integration Kafka 并对入站通道适配器执行相同的操作。

您可以使用Spring Cloud Stream通过将@StreamListener加载到子启动应用程序而不是主启动应用程序中来执行此操作。

 类似资料:
  • 7.4.4 延迟初始化的bean 默认情况下,ApplicationContext实现在初始化过程中随即创建和配置所有单例bean。一般来说,这种预实例化是可取的,因为可以立即发现配置或周围环境中的错误,而不是在几个小时甚至几天以后。当这种行为不可取时,可以通过将bean定义标记为延迟初始化来阻止预实例化。延迟初始化的bean告诉IoC容器,当bean首次被请求时而不是在启动时创建一个实例。 在X

  • 我有maploader,它使用索引进行查询 > maploader 主 这个工作绝对精细的地图不会加载,直到我第一次接触地图。 但是当我为地图添加索引的时候,地图就会被加载,而不管是不是触摸地图。在Hazelcast文档中,MapStoreConfig类中的InitialLoadMode配置参数有两个值:LAZY和eager。如果InitialLoadMode设置为LAZY,则在映射创建期间不加载

  • 问题内容: 我想延迟控制器的初始化,直到从服务器收到必要的数据为止。 我找到了针对Angular1.0.1的解决方案:延迟AngularJS路由更改,直到加载模型以防止闪烁,但无法使其与Angular1.1.0一起使用 模板 ​ JavaScript http://jsfiddle.net/dTJ9N/1/ 问题答案: 由于$ http返回了promise,因此创建自己的deferred仅在htt

  • 问题内容: 我有一些已经在使用的JBoss webapp,还有一个懒惰的初始化问题。因此,建议我在Spring进行调查并使用。 但是,我仍然会收到错误消息,希望您能对我有所帮助?要使用Spring OEM过滤器,我还需要在应用程序中进行哪些更改? 我的设置是这样的: + jsf的东西。 我将其设置如下:web.xml applicationContext.xml: persistence.xml:

  • 问题内容: 在使用惰性初始化程序时,是否有保留周期的机会? 在博客文章和许多其他地方都可以看到 我试过了 这样使用 并发现记录了“人deinit”。 因此,似乎没有保留周期。据我所知,当一个块捕获自身时,以及当该块被自身强烈保留时,会有一个保留周期。这种情况似乎类似于保留周期,但实际上并非如此。 问题答案: 我尝试过这个[…] 似乎没有保留周期 正确。 原因是考虑立即应用封闭。它不会保留捕获的内容

  • 我在我的WordPress网站上使用JetPack,并启用了延迟加载。然而,在我的网站中,我用AJAX更新了一些内容,这导致加载1x1占位符的图像,而不是真正的图像,这是懒惰加载会处理的。 如何使用Jet Pack再次调用延迟加载?我似乎记得有一个JavaScript函数,但找不到它是什么。