需要定义Spring作用域,它将为bean提供代理,并在发生事件时重新加载/重新创建目标bean。该行为类似于会话bean,除了没有http会话。
Spring是否为这种bean代理和范围操作提供了一种方法?
已更新
假设需要更改用于发送http请求的externalUrl
。因此应用程序必须切换到新bean,并创建新的http连接池。
当bean直接自动装配时,重新创建它是不可能的,特别是当它在许多地方使用时。因此,我搜索某种方式来注入代理而不是它,并在不改变调用者代码的情况下重新创建目标实例。
答案 0 :(得分:0)
有可能。我无法告诉您具体操作方法,但如果您能够这样做,Spring Cloud Config之类的内容将完全符合您的要求。如果你不能采用它,我会开始深入研究源代码。您想要开始的课程是RefreshScope
- 从那里,您应该能够弄清楚它是如何工作的以及它如何重新创建bean。对不起,我无法提供更多指导。