Я пытаюсь передать параметр JVM для переменной, настроенной в web.xml, в качестве параметра контекста, используя обозначение -D при запуске сервера weblogic. Я уже пробовал эту же конфигурацию, используя Tomcat 7, и она работает, как и ожидалось, но она не работает на сервере Weblogic 10.3.3. Любые подсказки?
web.xml
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>testeParWebXml</display-name>
<context-param>
<description>Habilita ou desabilita a configuração de debug do Facelets! Página de debug do Seam.</description>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>${habilitar.debug}</param-value>
</context-param>
<welcome-file-list>
Затем при запуске jvm я передаю параметр, используя:
-Dhabilitar.debug=true
И я построил сервлет для проверки:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter pw = response.getWriter();
String valorParametro = getServletContext().getInitParameter("facelets.DEVELOPMENT");
pw.write("Param value from web.xml ==>> " + valorParametro);
}
Как я уже упоминал, используя Tomcat, если я изменяю значение на false или true в флаге -Dtimsar.debug, он правильно печатает значение в сервлете.
Param value from web.xml ==>> true
В weblogic я получаю вывод вроде:
Param value from web.xml ==>> ${habilitar.debug}
Как замечено, weblogic НЕ анализирует значение переменной, установленной в web.xml.
Можно ли сделать это правильно в weblogic 10.3.3?