2012-08-17 64 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