JBoss AS 7 application specific properties file

jboss7.x, properties

Solution

Maybe a simple solution is to read the file from a singleton or static class.

private static final String CONFIG_DIR_PROPERTY = "jboss.server.config.dir"; 

private static final String PROPERTIES_FILE = "application-xxx.properties";

private static final Properties PROPERTIES = new Properties();

static {
    String path = System.getProperty(CONFIG_DIR_PROPERTY) + File.separator + PROPERTIES_FILE;  
    try {  
        PROPERTIES.load(new FileInputStream(path));
    } catch (MalformedURLException e) {
       //TODO 
    } catch (IOException e) {
       //TODO
    } 
}

Problem

I have several independent Java EE modules (WAR web applications, and JAR EJB modules) which I deploy on JBoss 7.1.1 AS. I want to: - Centralize configuration of these modules in one *.properties file. - Make this file available in classpath. - Keep the installation/configuration of this file as simple as possible. Ideally would be just to put it in some JBoss folder like: ${JBOSS_HOME}/standalone/configuration. - Make changes to this file available without restarting the application server. Is this possible? I already found this link: How to put an external file in the classpath, which explains that preferable way to do this is to make static JBoss module. But, I have to make dependency to this static module in every application module that I deploy, which is a kind of coupling I'm trying to avoid.

Original source