在域模式下在从站之间共享属性文件Wildfly10
问题描述:
在域模式下,我可以使用属性文件作为模块,但问题是如果文件中有任何修改,那么我需要为所有从站执行此操作该域名。 我想集中这个文件,以便在一个点上我可以改变,它会反映在所有的奴隶。在域模式下在从站之间共享属性文件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?
,面向以下链接给出了同样的问题
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文件文件夹里面进账分解的文件夹路径使用下面的代码在战争文件的servlet中。
config.getServletContext().getRealPath("/");
这给出了文件夹的vfs路径。
并配置了相同的
System.setProperty("REALPATH", config.getServletContext().getRealPath("/"));
并用于在JAR文件中的相同。
您可以使用--properties参数在启动服务器实例时加载属性文件。 – Abhijit
您是否可以不将属性文件放入您的部署中? –