Ogni istanza Tomcat di cui si dispone ha un flag isProduction
definito nella sezione GlobalNamingResources
del file server.xml
.
server.xml
:
<Server ...>
...
<GlobalNamingResources>
<Environment name="isProduction" value="false" type="java.lang.Boolean" override="false" />
</GlobalNamingResources>
<Service name="Catalina">
... etc ...
</Service>
</Server>
In questo modo la proprietà di essere disponibili in tutta l'applicazione con la creazione di una proprietà nella context.xml che fa riferimento la risorsa:
context.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<Context ...>
<ResourceLink name="isProduction" global="isProduction" type="java.lang.Boolean" />
...
</Context>
Per recuperare il valore:
public boolean isProduction() {
Object o;
try {
o = (new InitialContext()).lookup("java:comp/env/isProduction");
} catch (NamingException e) {
o = Boolean.FALSE; // assumes FALSE if the value isn't declared
}
return o == null ? Boolean.FALSE : (Boolean) o;
}
fonte
2012-02-14 16:46:24