gpt4 book ai didi

Java - 使用环境变量控制应用程序流程

转载 作者:行者123 更新时间:2023-12-01 22:25:21 25 4
gpt4 key购买 nike

这更多的是关于环境变量及其在 Java 中的使用的一般最佳实践问题。

假设我有一个 Web 应用程序 (1),它使用 Web 服务来定位另一个应用程序 (2)。我希望在预生产环境中将此链接保留为应用程序流程中的可选链接:如果应用程序 2 关闭,我希望定位一个模拟服务器,该服务器始终会返回答案。我怎样才能最好地做到这一点?

我想我可以使用像 app1.usemockserver = false 这样的环境变量。当我知道应用程序 2 已关闭时,我可以设置 app1.usemockserver = true,并且通过代码中的 IF,我可以定位模拟服务器,而不是应用程序 2。

这样做有什么问题吗?我可以使用哪些替代方案?

最佳答案

使用环境变量会很困难,因为 JVM 将拾取 JVM 启动时定义的所有环境变量。之后发生的任何变化都不会被拾取。

我建议您查看 JMX 并公开一个 bean,它将设置 boolean 标志,以便在现有 JVM 中动态地从一个环境切换到另一个环境。

您甚至可以向 JVM 公开 RPC 调用来设置/重置 boolean 标志,但我更喜欢 JMX。

另一种方法是在您的服务之上运行一个负载均衡器服务,该服务将进行心跳,一旦它没有收到相应服务的消息,它就会切换到另一个服务。

关于Java - 使用环境变量控制应用程序流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914849/

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