2017-08-13 21 views
5

Trong chế độ miền, tôi có thể sử dụng các tệp thuộc tính làm mô-đun nhưng vấn đề là nếu có bất kỳ sửa đổi nào trong tệp thì tôi cần thực hiện nó cho tất cả các nô lệ lĩnh vực. Tôi muốn tập trung vào tập tin để có thể thay đổi và nó sẽ được phản ánh trên tất cả các nô lệ.Chia sẻ tệp thuộc tính giữa các nô lệ trong chế độ miền Wildfly10

Tôi biết trong domain.xml, chúng tôi có thể định cấu hình các thuộc tính hệ thống mức toàn cầu nhưng tôi có khoảng 25 tệp thuộc tính.

Vì vậy, có cách nào để tập trung các tệp ??

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

MyJar.jar là một jar tập tin lưu trữ Để lấy các tập tin 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); 
    } 
} 

này không hoạt động.

Cố gắng này

How do I list the files inside a JAR file?

Và phải đối mặt với cùng một vấn đề được đưa ra trong bên dưới liên kết

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

Bạn có thể sử dụng đối số --properties để tải tệp thuộc tính trong khi bắt đầu phiên bản máy chủ. – Abhijit

+0

Bạn không thể đặt các tệp thuộc tính bên trong triển khai của mình? –

Trả lời

1

tính thêm thư mục bên trong một tập tin chiến tranh và lấy đường dẫn thư mục bùng nổ sử dụng bên dưới mã trong servlet của tập tin chiến tranh.

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

Điều này cung cấp đường dẫn vfs của thư mục.

và cấu hình giống nhau trong

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

và sử dụng cùng một trong file jar.

Các vấn đề liên quan