2017-08-13 2 views
5

Im Domain-Modus kann ich Eigenschaftendatei als ein Modul verwenden, aber das Problem ist, wenn es irgendwelche Änderungen in der Datei gibt, dann muss ich es für alle Sklaven machen in die Domäne. Ich möchte die Datei zentralisieren, so dass ich an einem Punkt ändern kann, und es wird auf allen Sklaven widergespiegelt werden.Share Eigenschaftendatei unter Sklaven im Domain-Modus Wildfly10

Ich weiß in domain.xml können wir konfigurieren, globale Ebene Systemeigenschaften, aber ich habe etwa 25 Eigenschaften Dateien.

So gibt es eine Möglichkeit, die Dateien zu zentralisieren?

myjar.jar 
-->package 
    --> class 
-->properties 
    -->xml files 

myjar.jar ist eine archivierte JAR-Datei Um die XML-Dateien

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); 
    } 
} 

Diese Arbeit ist nicht zu holen.

versucht, diese

How do I list the files inside a JAR file?

Und das gleiche Problem unten angegebenen Link in zugewandter

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) 
       { 

       } 
      } 
+0

Sie können das Argument --properties verwenden, um die Eigenschaftendatei beim Starten der Serverinstanz zu laden. – Abhijit

+0

Können Sie die Eigenschaftendateien nicht in Ihre Bereitstellung einfügen? –

Antwort

1

Hinzugefügt Eigenschaften in einem Krieg Dateiordner und holte den explodierten Ordnerpfad mit unterhalb des Codes im Servlet der Kriegsdatei.

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

Dies gibt den VFS-Pfad des Ordners.

und konfiguriert, um das gleiche in

System.setProperty("REALPATH", config.getServletContext().getRealPath("/")); 

und verwendet die gleichen in der JAR-Datei.

Verwandte Themen