【问题标题】:Regarding multiple dispatcher servlet in Spring关于 Spring 中的多个调度程序 servlet
【发布时间】:2011-06-23 15:18:29
【问题描述】:

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

【问题讨论】:

  • “我的应用程序中有两个调度程序 servlet”.... 这有充分的理由吗?通常没有必要,而且通常只使用一个更容易。
  • 我们的应用需要支持2种不同的请求。两个应用程序的目的完全不同,两个请求都需要不同的 URL。
  • 您不能使用具有多个@RequestMappings 的单个servlet 来支持不同的请求类型和url 吗?例如:@RequestMapping(value="url1" RequestMethod.Get), @RequestMapping(value="url2" RequestMethod.POST) 你还需要什么?

标签: spring


【解决方案1】:

来自 DispatcherServlet doc:

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

所以,只有在ContextLoaderListener 加载的应用上下文中定义了你的 sessionFactory,它才会被共享,否则不会。

【讨论】:

    猜你喜欢
    • 2017-03-11
    • 2014-05-27
    • 2015-11-05
    • 2015-09-10
    • 2018-01-30
    • 2015-05-19
    • 2015-02-03
    • 2012-08-17
    • 1970-01-01
    相关资源
    最近更新 更多