在Web应用程序中设置运行时属性

时间:2011-03-04 14:39:16

标签: java tomcat glassfish

我打算在Web应用程序中使用JGroups。

默认情况下,JGroups使用IPv6进行消息组播。 JGroups只能通过设置如下所示的属性来配置使用IPv4(请参阅docs

-Djava.net.preferIPv4Stack=true

如果在代码中设置,则不起作用。在应用程序服务器中运行war文件以设置此属性时,我有哪些选择,特别是tomcat和glassfish?

2 个答案:

答案 0 :(得分:2)

在我看来,以下路线可能有效。首先,在您的Web应用程序中添加ServletContextListener,并在加载JGroups之前在web.xml中注册它。

现在,在contextInitialized方法内,使用System.setProperty("java.net.preferIPv4Stack", "true")

免责声明:未经测试。

答案 1 :(得分:1)

除非您有特定的理由将其放入代码中,否则可以通过设置环境变量CATALINA_OPTS(到-Djava.net.preferIPv4Stack = true)轻松地为Tomcat配置它。我认为正确的做法是创建$ {CATALINA_HOME} /bin/setenv.sh并将设置放在那里。