【问题标题】:Servlet Filters - Context InitializationServlet 过滤器 - 上下文初始化
【发布时间】:2011-12-07 02:01:37
【问题描述】:

当使用“全局”过滤器时,它位于 apache tomcat 网络服务器的根 lib 目录中,适用于所有网络应用程序上下文: 我想知道 Web 应用程序上下文是否是同步初始化的 - 一次一个,或者是否存在两种不同的上下文同时调用 Filter.init() 函数的情况。

我问这个是因为我想在任何应用程序上下文第一次调用 init() 时基于特定的 FilterConfig.initParameter 初始化数据库连接配置对象,我想知道是否应该将以上是否在同步块中...

【问题讨论】:

    标签: java tomcat synchronization servlet-filters


    【解决方案1】:

    我认为这是 Tomcat 的内部结构,它可以随时更改,所以我会在同步块中进行。这不是什么大问题或性能问题,因为它在每个应用程序上下文初始化时只运行一次。

    来自Java Servlet Specification6.2.1 过滤器生命周期

    部署中每个 声明只有一个实例 描述符是按容器的 JVM 实例化的。

    您可以使用自定义阀门达到相同的结果:

    【讨论】:

      猜你喜欢
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      • 2015-02-16
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多