Вы можете указать изменяющееся свойство вне web.xml, используя JNDI поддержки Tomcat .
Например, укажите запись среды в элементе Context :
<Context ...>
...
<Environment name="maxExemptions" value="10"
type="java.lang.Integer" override="false"/>
...
</Context>
Затем укажите ссылку на эту переменную среды в вашем web.xml:
<env-entry>
<env-entry-name>maxExemptions</param-name>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
А затем позвоните из своего кода, используя (из Professional Apache Tomcat 6 ):
private final Object lock = new Object();
...
synchronized (lock) {
Context initCtx = new InitialContext();
Context envCtx = initCtx.lookup("java:comp/env");
Integer maxExemptions = (Integer) envCtx.lookup("maxExemptions");
}
Или вы можете добавить свою ценность в приложение с помощью Spring, используя <jndi-lookup />
<bean id="someBean">
<property name="maxExemptions">
<jndi-lookup jndi-name="xxx" />
</property>
</bean>