假设我有几个春豆:
<beans>
<bean name="A" ... />
<bean name="B" ... />
</beans>
“B”公开了一个不需要“A”的远程服务。假设“A”的加载时间不可忽略。这意味着在重新启动周期期间,应用程序挂起远程客户端,远程客户端实际上可以连接到服务器但等待响应,直到 spring 容器完全初始化。
我想做的是让“B”远程服务立即响应,即使(基于应用程序状态)它只能返回 NOT_READY 或类似的东西。然而,容器会强制等待,直到它的所有 bean 都被初始化,即使您将 bean 指定为惰性初始化并且与加载顺序无关。
我怀疑让“B”立即可用意味着 spring 必须提供一个部分初始化的容器,这听起来很糟糕。但是,我很感激任何人在初始化顺序上获得的任何信息,以及您是否找到了任何合理的解决方法。