关于Spring中的多个调度程序servlet

dma*_*may 2 spring

我的应用程序中有两个调度程序servlet.我在单独的xml文件中编写数据库相关的配置(sessionfactory等).在每个调度程序servlet配置文件(abc-servlet.xml,xyz-servlet.xml)中,我导入了这个公共数据库文件.我想知道Spring会创建两个sessionFactory实例,还是与它们共享.这两个应用程序在我的开发环境中运行良好.如果这导致任何与内存相关的问题,我担心生产.

aba*_*ogh 7

从DispatcherServlet doc:

Web应用程序可以定义任意数量的DispatcherServlet.每个servlet将在其自己的命名空间中运行,使用映射,处理程序等加载其自己的应用程序上下文.只有ContextLoaderListener加载的根应用程序上下文(如果有)将被共享.

因此,如果在ContextLoaderListener加载的应用程序上下文中定义了sessionFactory,则只会共享它,否则不会.