2011-03-04 54 views
1

我打算在Web應用程序中使用JGroups。在Web應用程序中設置運行時屬性

默認情況下JGroups使用IPv6來進行消息的多播。 JGroups的只能配置爲使用IPv4設置類似下面的屬性(見docs

-Djava.net.preferIPv4Stack=true 

如果在代碼中設置這是行不通的。在應用程序服務器中運行war文件以設置此屬性時,我有什麼選擇,特別是tomcat和glassfish?

+0

[跨服務器環境變量]的可能重複(http://stackoverflow.com/questions/4907075/cross-server-environment-variable) – vkraemer 2011-03-04 23:18:15

回答

1

除非您有特定的理由將其置於代碼中,否則可以通過設置環境變量CATALINA_OPTS(對於-Djava.net.preferIPv4Stack = true)輕鬆地爲Tomcat配置它。我認爲這樣做的適當位置是創建$ {CATALINA_HOME} /bin/setenv.sh並將設置放置在那裏。

2

在我看來,下面的路線可能工作。首先,在您的Web應用程序中添加一個ServletContextListener,並在加載JGroups之前在web.xml中註冊它。

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

聲明:未經測試。

+0

感謝您的建議。我會試試這個。 – Steve 2011-03-04 15:01:31