我正在写一个基于Tomcat和Java Servlet的Web应用程序。
就我而言,有一些(不同的)Servlet必须访问同一文件,并且我需要一种机制来同步这些访问。

我尝试了一个新的Servlet(具有空的doGet()doPost()方法),我将其称为“控制器”,以便将其用作我需要的每个对象(锁,条件变量等)的“容器”。 。不幸的是,此方法基于使用getServlet(name)中的方法ServletContext,该方法已被弃用,在我的情况下不起作用。

有没有解决此类问题的已知方法?

最佳答案

这些问题通常通过引入额外的抽象层来解决。
将对文件的访问封装在一个对象中,并使用此新对象来协调对文件的访问。
小服务程序都将使用此中间对象来访问文件,并且该对象将处理任何并发/多线程问题。您不需要新的servlet。
您可以使用Servlet Context存储对象

10-07 19:06
查看更多