0

需要定义 Spring 范围,该范围将为 bean 提供代理,并在事件发生时重新加载/重新创建目标 bean。该行为类似于会话 bean,除了没有 http 会话。

Spring 是否为这种 bean 代理和范围操作提供了一种方法?

更新

假设需要更改externalUrl用于发送 http 请求的哪个。所以应用程序必须切换到新的 bean 并创建新的 http 连接池。

当 bean 直接自动装配时,不可能重新创建它,尤其是在许多地方使用它时。所以我搜索了一些方法来注入一个代理而不是它,并在不改变调用者代码的情况下重新创建目标实例。

4

1 回答 1

0

有可能的。我不能确切地告诉你如何去做,但如果你能做到的话,像Spring Cloud Config这样的东西正是你想要的。如果您不能采用它,我将开始深入研究源代码。您想要开始的课程是RefreshScope- 从那里,您应该能够弄清楚它是如何工作的以及它如何重新创建 bean。很抱歉我不能提供更多的方向。

于 2016-07-20T12:06:53.707 回答