在域模式 Wildfly10 的从属之间共享属性文件
Share properties file among slaves in domain mode Wildfly10
在域模式下,我可以将属性文件用作模块,但问题是如果文件中有任何修改,那么我需要对域中的所有从属节点进行修改。
我想集中文件,以便在某一时刻我可以更改,它会反映在所有奴隶上。
我知道在 domain.xml 中我们可以配置全局级别的系统属性,但我有大约 25 个属性文件。
那么有没有办法把文件集中起来呢??
myjar.jar
-->package
--> class
-->properties
-->xml files
myjar.jar 是一个归档的 jar 文件
获取 xml 个文件
URL url = Thread.currentThread().getContextClassLoader().getResource("./properties");
File queryFolder = new File(url.getFile());
for (File fileName : queryFolder.listFiles()) // null pointer exception
{
if (fileName.getName().toUpperCase().endsWith("XML"))
{
saxParser.parse(fileName, this);
}
}
这不起作用。
试过这个
How do I list the files inside a JAR file?
并面临下面给出的相同问题link
JBoss wildfly 8.x Provider "vfs" not installed when using java nio Paths
URL w_url = mmyClass.class.getProtectionDomain().getCodeSource().getLocation();
JarEntry w_ze = null;
LOGGER.info("Jar******************" + w_url.toString());
if (w_url.toString().endsWith(".jar"))
{
try (JarInputStream jar = new JarInputStream(w_url.openStream()))
{
while ((w_ze = jar.getNextJarEntry()) != null)
{
LOGGER.info("Name *******" + w_ze.getName());
}
}
catch(Exception e)
{
}
}
在 war 文件中添加了属性文件夹,并在 war 文件的 servlet 中使用以下代码获取展开的文件夹路径。
config.getServletContext().getRealPath("/");
这给出了文件夹的 vfs 路径。
并在
中配置相同
System.setProperty("REALPATH", config.getServletContext().getRealPath("/"));
并在 jar 文件中使用相同的内容。
在域模式下,我可以将属性文件用作模块,但问题是如果文件中有任何修改,那么我需要对域中的所有从属节点进行修改。 我想集中文件,以便在某一时刻我可以更改,它会反映在所有奴隶上。
我知道在 domain.xml 中我们可以配置全局级别的系统属性,但我有大约 25 个属性文件。
那么有没有办法把文件集中起来呢??
myjar.jar
-->package
--> class
-->properties
-->xml files
myjar.jar 是一个归档的 jar 文件 获取 xml 个文件
URL url = Thread.currentThread().getContextClassLoader().getResource("./properties");
File queryFolder = new File(url.getFile());
for (File fileName : queryFolder.listFiles()) // null pointer exception
{
if (fileName.getName().toUpperCase().endsWith("XML"))
{
saxParser.parse(fileName, this);
}
}
这不起作用。
试过这个
How do I list the files inside a JAR file?
并面临下面给出的相同问题link
JBoss wildfly 8.x Provider "vfs" not installed when using java nio Paths
URL w_url = mmyClass.class.getProtectionDomain().getCodeSource().getLocation();
JarEntry w_ze = null;
LOGGER.info("Jar******************" + w_url.toString());
if (w_url.toString().endsWith(".jar"))
{
try (JarInputStream jar = new JarInputStream(w_url.openStream()))
{
while ((w_ze = jar.getNextJarEntry()) != null)
{
LOGGER.info("Name *******" + w_ze.getName());
}
}
catch(Exception e)
{
}
}
在 war 文件中添加了属性文件夹,并在 war 文件的 servlet 中使用以下代码获取展开的文件夹路径。
config.getServletContext().getRealPath("/");
这给出了文件夹的 vfs 路径。
并在
中配置相同System.setProperty("REALPATH", config.getServletContext().getRealPath("/"));
并在 jar 文件中使用相同的内容。