当使用“全局”过滤器时,它位于apache tomcat web服务器的根lib目录中,并应用于所有web应用程序上下文:我想知道web应用程序上下文是否同步初始化-一次一个,或者是否存在两个不同上下文同时调用Filter.init()函数的情况。
我之所以这样问,是因为我想在任何应用程序上下文第一次调用init()时,根据特定的FilterConfig.initParameter初始化数据库连接配置对象,我想知道是否应该将上面的内容放在同步块中……
发布于 2011-10-14 05:06:22
我认为这是Tomcat的内部结构,它可以随时更改,所以我会在同步块中进行更改。这不是什么大问题或性能问题,因为它在每次应用程序上下文初始化时只运行一次。
来自Java Servlet Specification 6.2.1过滤器生命周期
对于容器的每个JVM,部署描述符中的每个声明只实例化一个实例。
您可以使用自定义阀门达到相同的结果:
https://stackoverflow.com/questions/7756645
复制相似问题