gpt4 book ai didi

集群环境中 Java EE EAR 读/写资源的共享位置

转载 作者:搜寻专家 更新时间:2023-11-01 02:33:44 25 4
gpt4 key购买 nike

在 Java EE 环境(可能是 WAS 6.1,但可以是任何应用程序服务器)中,我需要放置一个 XML 文件,这是一个配置文件,以便我可以读取和写入它。

这需要在集群环境中可用,因此我正在考虑使用类路径来加载文件。

我想我可以将此文件存储在 EAR 根目录中,在 list 中引用它,然后加载并保存它。

我已经通过将我的文件放在 JAR 中并通过 MANIFES 提供它来尝试这种方法,并且我可以使用以下命令从类路径加载配置文件没有问题。

this.getClass().getClassLoader().getResourceAsStream("configFileName");

这加载了 JAR 中的文件,这太棒了。但是,如果我想以编程方式编辑此文件,我将无法访问 JAR 文件位置(EAR 根目录),它会返回一个解释路径,如下所示:

 /usr/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/localhostNode01Cell/MyApp.ear/MyApp.war/TB_config.jar

这不是 JAR 的正确位置,正确的位置是 MyApp.ear。

所以问题是:我如何使用我的配置文件访问和更新(复制内容、创建新的、保存、删除旧的)JAR。
或者我应该把配置文件放在别的地方吗?

什么是标准的 Java EE 使需要读/写访问权限的文件可用于集群上的 WAR?

最佳答案

好的,我已经为此构建了一个解决方案。它更多地基于 WebSphere(我们的平台),但它是 J2EE,我很惊讶它没有被提及。基本上我使用 JMX 来同步节点。文件被存储并保存到部署管理器,然后使用 JMX 调用重新同步节点,然后通过调用应用程序内的 servlet 重新启动带有应用程序的引擎。

梦想成真

所以@stacker,节点被管理,管理器将文件分发到节点。

关于集群环境中 Java EE EAR 读/写资源的共享位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282507/

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