Java 多个系统的集中式应用程序属性

Java 多个系统的集中式应用程序属性,java,jakarta-ee,Java,Jakarta Ee,我正在寻找一个开源的解决方案,允许托管不同的应用程序不同的属性,并允许更改。在属性发生任何更改时,它都应该通知应用程序或将更改适当地推送到应用程序 因此,每个应用程序管理物理文件中的属性并进行物理部署;这些属性可以推送到单个系统。用户将拥有GUI,可以根据权限加载和更改属性。如前所述,应允许推送 如果您已经考虑过类似的开源解决方案,请给出建议。这是Puppet可以为您管理的吗?我认为应用服务器中不可能存在您所描述的(尽管它很好)。如果程序正在查找文件,它将使用FileReader(或类似工具)加

我正在寻找一个开源的解决方案,允许托管不同的应用程序不同的属性,并允许更改。在属性发生任何更改时,它都应该通知应用程序或将更改适当地推送到应用程序

因此,每个应用程序管理物理文件中的属性并进行物理部署;这些属性可以推送到单个系统。用户将拥有GUI,可以根据权限加载和更改属性。如前所述,应允许推送


如果您已经考虑过类似的开源解决方案,请给出建议。

这是Puppet可以为您管理的吗?

我认为应用服务器中不可能存在您所描述的(尽管它很好)。如果程序正在查找文件,它将使用FileReader(或类似工具)加载该文件,或者使用ClassLoader.getResourceAsStream()。它可能在寻找以属性、格式、XML属性格式返回的数据,甚至是以完全不同的方式(如RDF)来配置自身的数据。还有许多程序在启动时读取它们的配置,然后将这些值保存在内存中,因此您仍然需要重新启动它们才能进行更改

要让这样的东西发挥作用,需要有一个配置配置和实时更新的标准。一旦存在,webapp作者和服务器供应商都需要添加对该标准的支持


但是,如果您是编写要管理的程序的人,那么您可以编写程序以从服务请求配置,并具有配置推送功能。。。。可能有一些软件包可以加快将其添加到代码中的速度,但我得到的印象是,您希望管理其他人编写的程序。

您考虑过使用JMX吗?我认为他可能是实现您的要求的一个很好的起点

MBeans的属性可以存储应用程序的属性,MBeanServer将允许您通过远程处理使它们可用,JConsole为您提供了一个GUI来更新属性值


您还可以在MBean中编写一些代码,当用户使用GUI更改任何属性时通知相应的应用程序。

是的,还有一些功能,如-每个希望使用这些服务的应用程序都有一个本地存储选项。-本地存储将与服务器/远程存储同步,并在客户端代理的帮助下通过推送机制进行管理。-易于配置到任何时间的技术/应用程序(Java、JEE、Dot.Net)