gpt4 book ai didi

java - Spring如何将同一个项目的bean拆分成多个Java进程?

转载 作者:行者123 更新时间:2023-11-30 08:31:12 24 4
gpt4 key购买 nike

我正在开展一个项目,该项目将针对我们的应用程序提供多个流程。例如inputHandleroutputHandler,两者可以共享一些公共(public)的bean,但大多数时候不会共享。

此外,我可以在同一台机器上运行 2 个 inputHandler 进程和 3 个 outputHandler 进程。不过,我想单独构建和打包它们,这不是强制性的,但我想这也是一个很好的做法,对吧?

通常,我们为所有内容加载相同的上下文,但现在,我们希望变得更智能、更多内存和启动、高效。

如何拆分这些 bean 以在多个 java 进程中高效运行?

我正在考虑拥有一个包 common 并将可以在所有进程之间共享的 @Bean 放在那里,对于每个进程,我会有另一个包,然后我开始单独开发它。但是,我不确定这个策略;在与你们交谈之前。

提前致谢!

最佳答案

您可以将 Spring 上下文放在一个公共(public)模块中,但通过 Spring“配置文件”对 bean 进行分区。

文档:http://docs.spring.io/autorepo/docs/spring-boot/current/reference/html/boot-features-profiles.html

Spring Profiles 提供了一种方法来隔离应用程序配置的各个部分,并使其仅在特定环境中可用。

因此您的 inputHandler 进程可以在“inputHandler”配置文件等中使用 bean。

@Configuration
@Profile("inputHandler")
public class InputHandlerConfiguration {

// ...

}

@Configuration
// no profile - applicable to all profiles
public class CommonConfiguration {

// ...

}

您可以通过设置 spring.profiles.active 属性来控制哪些配置文件处于 Activity 状态。您可以激活多个配置文件,用逗号分隔。

关于java - Spring如何将同一个项目的bean拆分成多个Java进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40788514/

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