I am trying to pass a JVM parameter for a variable configured in web.xml as a context-parameter using a -D notation when starting weblogic server. I have already tried this same configuration using Tomcat 7 and it works as expected, but it DOES NOT work in weblogic server 10.3.3. Any clues?
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>
Then when starting the jvm I pass the parameter using:
-Dhabilitar.debug=true
And I built a Servlet to test:
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);
}
As I mentioned using Tomcat if I change the value to false or true in the -Dhabilitar.debug flag it correctly prints the value in the servlet.
Param value from web.xml ==>> true
In weblogic I get the output like:
Param value from web.xml ==>> ${habilitar.debug}
As noticed weblogic DOES NOT parse the value of the variable set in web.xml.
Is it possible to make this work properly in weblogic 10.3.3?
Looks like there is not a consistent behavior across different containers. IMHO you should not do it that way. I have always used (and have always seen people using) web.xml containing default values (rather than parameterized values) for stuff. Please see these additional resources (including some not-so-elegant but working approaches to your problem):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With