2012-08-17 62 views

回答

2

我假設「由兩個服務器名稱訪問」表示不同的HTTP hostname,但映射到同一個Java EE服務器實例。

例如server1.acme.com和server2.acme.com

一種選擇是安裝應用程序兩次(兩個單獨的EAR/WAR文件)並配置您希望作爲構建過程的一部分使用的applicationcontext.xml。這樣做的好處是您可以根據需要分配單獨的上下文根。然後,您可以配置Java EE服務器(例如apache服務器組件),將hostname映射到特定的應用程序上下文根。

選項二是爲兩個實例只安裝一個包含所有spring bean的EAR/WAR,併爲那些不應共享的bean分配唯一的bean名稱。這具有減少內存佔用的優勢,因爲您只加載一個應用程序並共享一些Spring bean。您的網絡Controller必須根據hostname知道應撥打哪些服務豆,您應該撥打ServletRequest.getRemoteHost()

我可以確定您可以使用其他技術。這些只是想到的兩個。

+0

應用程序會根據不同的主機名加載不同的資源,所以我只是得到主機名,然後判斷它顯示不同的圖像或文字!感謝所有相同的! – darren 2012-08-31 10:50:36