我打算在Web应用程序中使用JGroups。
默认情况下,JGroups使用IPv6进行消息组播。 JGroups只能通过设置如下所示的属性来配置使用IPv4(请参阅docs)
-Djava.net.preferIPv4Stack=true
如果在代码中设置,则不起作用。在应用程序服务器中运行war文件以设置此属性时,我有哪些选择,特别是tomcat和glassfish?
答案 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并将设置放在那里。