java根据URL服务器名称加载不同的ApplicationContext
我在服务器上的应用程序可以被两个servername访问,现在我想加载不同的applicationcontext。使用不同的服务器名创建xml。我该怎么做呢?这是spring的JavaEE
你可以在下面搜索框中键入要查询的问题!
我在服务器上的应用程序可以被两个servername访问,现在我想加载不同的applicationcontext。使用不同的服务器名创建xml。我该怎么做呢?这是spring的JavaEE
# 1 楼答案
我假设“visited by two servername”是指不同的HTTP
hostname
,但映射到同一个JavaEE服务器实例例如服务器1。顶峰com和server2。顶峰com
一个选项是安装两次应用程序(两个单独的EAR/WAR文件),并配置哪个applicationcontext。希望在构建过程中使用的xml。这样做的好处是,如果需要,您可以分配一个单独的上下文根。然后,您可以配置Java EE服务器(例如apache服务器组件),将
hostname
映射到特定的应用程序上下文根选项二是只安装一个EAR/WAR,其中包含两个实例的所有spring bean,并为不应共享的bean指定唯一的bean名称。这样做的好处是减少了内存占用,因为您只需加载一个应用程序并共享一些Springbean。您的web
Controller
必须根据hostname
知道要调用哪个服务bean,您应该通过调用ServletRequest.getRemoteHost()获得哪个服务bean我相信你还可以使用其他技巧。这只是我想到的两个