在域模式Wildfly10中共享属性文件

时间:2017-08-13 05:09:28

标签: jboss wildfly jboss7.x wildfly-10

在域模式下,我可以使用属性文件作为模块,但问题是如果文件中有任何修改,那么我需要为域中的所有从属文件执行此操作。 我希望集中文件,以便在某一点上我可以改变,它将反映在所有奴隶身上。

我知道在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)
                {

                }
            }

1 个答案:

答案 0 :(得分:1)

在war文件中添加了properties文件夹,并使用war文件的servlet中的以下代码获取了展开的文件夹路径。

config.getServletContext().getRealPath("/");

这给出了文件夹的vfs路径。

并在

中配置相同的内容
System.setProperty("REALPATH", config.getServletContext().getRealPath("/"));

并在jar文件中使用相同的内容。