gpt4 book ai didi

java - 如何在 Spring 中实现弹性 bean?

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:39 24 4
gpt4 key购买 nike

我有一个 Spring bean,它在其构造函数中通过 http 访问外部系统。如果外部系统在启动时不可用,则无法创建 bean 并且应用程序无法正常启动。

我希望我的应用程序能够在不受外部系统影响的情况下启动。我宁愿暂时缺少功能,也不愿重新启动应用程序。

我知道这应该可以在 Spring 中通过正确选择范围和代理 bean 工厂来实现,但我不确定实际是如何做到的。在我看来,Spring AOP 的大部分内容旨在修改成功创建的目标,但在创建期间无法处理异常,还是我错了?

简而言之:我想要一个代理,它在第一次访问时创建目标 bean,然后在它工作时保留该实例。如果创建失败,它应该抛出异常并在下次调用代理时重试。

那么,您将如何实现此功能?

最佳答案

您尝试过惰性 bean 初始化吗?

<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/>

你不应该将这个 bean 设置为 Singleton bean 的属性,因为它会在启动时启动它。

关于java - 如何在 Spring 中实现弹性 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6592875/

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