2011-02-23 25 views
1

HI,如何訪問我的EAR的部署信息

我正在將EAR文件部署到我的JBOSS 5.1中。我希望能夠訪問存儲在「display-name」下的部署文件「application.xml」中的EAR應用程序名稱。

我想deeploy管理員,Web應用程序如何讀取這些信息,並顯示部署我的耳朵的

我想的application.xml它來搜索這些信息的正確的地方所有模塊...

我tryed :

InputStream in = new MyController().getClass().getResourceAsStream("META-INF/application.xml"); 

但不工作!返回null ...

意見? (代碼請)

回答

0

我解決了:

ClassLoader loader = getClass().getClassLoader(); 
    URL url = loader.getResource("META-INF/application.xml"); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); 
    while (true) { 
     String line = reader.readLine(); 
     System.out.println(line); 
     if (line == null) { 
      break; 
     } 
    } 

這樣,我解決了這個問題,我打印樣品的內容...

,但我搜索一個高水平的API來訪問應用服務器資源...

什麼是最好的方式?

3

加斜槓在您的路徑的開頭:

InputStream in = new MyController().getClass().getResourceAsStream("/META-INF/application.xml");

它應該工作。

但我認爲更好的解決方案是使用JMX。它提供了更高級別的API來訪問應用服務器資源,包括已部署的應用程序。這種方法的缺點是,我擔心你的代碼會是JBoss特有的。