gpt4 book ai didi

java - 在 java servlet 的 init 中唯一标识服务器的好方法是什么

转载 作者:行者123 更新时间:2023-11-29 03:44:12 25 4
gpt4 key购买 nike

我有一个 java web 应用程序,它在许多服务器上运行。此应用程序中的一些 servlet 在启动时加载以预加载一些数据。加载此数据的协议(protocol)将根据部署应用程序的服务器而变化。 (要加载的文件的路径发生变化,安全性也有所不同,因此获取一些文件比其他文件更复杂)。有没有一种方法可以在 java servlet 的 init 函数中唯一标识我的应用程序所在的服务器/机器?我最初使用的是 HttpServletRequest.getServerName(), 这已经足够了,但它在 init 中不可用。我知道延迟初始化,所以不要告诉我这样做,我会尽可能避免这种情况,因为这些文件的加载时间很长。如果我能找到完美的机器名称,但我无法弄清楚如何从 api 中获取它。我所需要的只是一种从 init 中唯一标识机器的方法。

感谢您的帮助。

最佳答案

与其让我的应用程序依赖于一组(硬编码的)IP,不如使用绑定(bind)到 JNDI 的简单字符串属性来识别每个服务器。

硬编码 IP/主机名通常不是一个好主意。基础架构的更改可能会在您部署应用程序后立即发生:)

另一方面,JNDI 是获取应用程序服务器资源的标准方法。可以在 WAS 管理控制台中将资源(字符串属性)绑定(bind)到 JNDI,并且从 JNDI 获取属性值很容易。 IBM 甚至 published a tutorial关于那个。

关于java - 在 java servlet 的 init 中唯一标识服务器的好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743794/

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