2011-01-12 45 views
2

我們稍微修改了JBoss 5.1.0配置,其中我們在類路徑中添加了一個名爲<JBOSS_HOME>/myconf的新文件夾。這裏是conf/jboss-service.xml相關位:將第二個conf文件夾添加到JBoss 5.1.0

<server> 
    <classpath codebase="${jboss.server.lib.url}" archives="*"/> 
    <classpath codebase="${jboss.common.lib.url}" archives="*"/> 
    <classpath codebase="myconf" archives="*"/> 
    ... 
</server> 

的想法是,應用程序特定的配置文件可以進入<JBOSS_HOME>/myconf而具體的JBoss的配置文件可以留在<JBOSS_HOME>/conf

myconf我有一個名爲myapp_log4j.xml的文件,它是一個標準的Log4J配置文件。該文件由使用getResourceAsStream("/myapp_log4j.xml")的AOP攔截器加載。

如果.xml文件是在以下位置它的工作原理:

<JBOSS_HOME>/myconf/conf/myapp_log4j.xml 

但如果它是在這個位置,它不會:

<JBOSS_HOME>/myconf/myapp_log4j.xml 

爲什麼.xml文件需要在conf子文件夾內,並且有什麼方法可以更改/修復此問題?

+0

單個`conf`文件夾是JBoss工作的核心。爲什麼您的應用程序本身不是您的特定於應用程序的配置? – skaffman 2011-01-12 13:17:14

回答

-1

總結評論,試圖將應用程序特定的配置放入單獨的樣式JBoss目錄注​​定會失敗。 JBoss並不打算彎曲這種方式。

應用程序配置應該(a)在應用程序內部(即在EAR/WAR內部),或者(b)在JBoss之外的某個地方。

2

我不同意。我們一直使用自定義類路徑條目多年,沒有問題。我們發現它是一種非常有效的方式來交換類路徑配置。我認爲你的問題是JBoss期待一個URL。例如,

<classpath codebase="file:/home/me/myProject/myBranch/patches" archives="*"/> 
<classpath codebase="file:/home/me/myProject/myBranch/lib" archives="*"/> 
<classpath codebase="file:/home/me/myProject/myBranch/ext/" archives="*"/> 
<classpath codebase="file:/home/me/myProject/myBranch/"/>