Java 多进程配置

Java 多进程配置,java,configuration,Java,Configuration,我有一个由多个过程组成的产品。每个进程使用内部公共配置 有人知道如何管理配置吗?也就是说,我们不希望复制变量,这样每个进程都可以读取它们 此外,DB解决方案也不好,因为我们不想依赖DB进行类似配置的工作 谢谢 Yair如果配置是静态的,最简单的解决方案是使用java.util.Properties。它使用基于字符串的简单键/值格式,您可以从任何InputStream/读取器加载它。您可能只需要对非字符串值进行额外处理: java.util.Properties p = new java.util

我有一个由多个过程组成的产品。每个进程使用内部公共配置

有人知道如何管理配置吗?也就是说,我们不希望复制变量,这样每个进程都可以读取它们

此外,DB解决方案也不好,因为我们不想依赖DB进行类似配置的工作

谢谢


Yair

如果配置是静态的,最简单的解决方案是使用java.util.Properties。它使用基于字符串的简单键/值格式,您可以从任何InputStream/读取器加载它。您可能只需要对非字符串值进行额外处理:

java.util.Properties p = new java.util.Properties();
p.load(new FileReader("myConfiguration.properties"));
int foo = Integer.parseInt(p.getProperty("foo"));
String bar = p.getProperty("bar");
一个简单的属性文件:

foo=13
bar=baz

javadocs for loadReader解释了属性文件格式。

有关使用Commons配置的更多信息将非常有用。您只是想在应用程序之间共享一些配置吗?您不能使用commons配置中的一些方法来执行此操作吗?或者,您正在用这个问题查看整个流程的元配置吗?难道您不能使用commons配置中的一些方法来实现这一点吗?您知道这样的API吗。我没有。这不是我要找的。我正在使用commons配置。每个进程一个属性文件。我正在寻找一种方法来管理这些多个文件,也许可以消除它们,以防止每个进程都有多个重复的参数。我以前从未使用过commons配置,但只要快速查看一下API,就可以使用CompositeConfiguration将公共元素提取到一个文件中,然后为唯一属性创建每个进程的文件。至于删除这些文件,我不确定这会带来什么好处,因为您只是将它们移动到其他地方。唯一的另一个想法是编写一个程序,为您生成每个进程的文件,这样您在生成的文件中仍然有重复的配置,但只有一个源来维护它们。