2015-04-25 116 views
-1

我想要有網站,所有網站都有不同的公有域名,但它們都共享一個通用的Java後端SpringMVC服務器並使用常見的靜態網絡資源,如js和css文件。Tomcat或JBoss託管1多個網站的Web應用程序

與其在3個地方維護UI代碼,我寧願運行1個服務器並在Tomcat8,Jboss或Wildfly雲實例(如OpenShift或AWS)上部署1個WAR,但仍然可以配置我的dns CNAME指向該WAR上的不同路徑。

例如,這裏是每個域將映射到它們各自的終點,但沒有其他事物的可視性:

www.mydomainA.com ---> mycloudprovider.ip/sharedcontext/A 
www.mydomainB.com ---> mycloudprovider.ip/sharedcontext/B 
www.mydomainC.com ---> mycloudprovider.ip/sharedcontext/C 

這可能嗎?如果是這樣,配置的步驟是什麼?

回答

0

配置3個獨立的項目實際上是有益的。他們都需要有自己的應用程序上下文,但可以共享一個父POM。這將導致更好的負載平衡性能。而且,由於亞馬遜的定價結構是這樣的,設置3個微型實例比運行全部3個戰爭的強大實例便宜。注意:您仍然可以將所有3個實例指向相同的數據源。

要解決webapp代碼重複的問題,您可以使用maven-war-plugin創建一個pom覆蓋圖。當Maven應用覆蓋圖時,它將基本上將應用程序中的文件與覆蓋文件中的文件結合起來。任何相交的文件將從應用程序使用,而不是覆蓋。

要解決Java代碼重複的問題,可以將通用代碼分隔成一個新項目並構建一個用作依賴關係的jar。

相關問題