java - 从两个或多个 Servlet 同步访问一个文件

标签 java servlets synchronization

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

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

是否有解决此类问题的已知解决方案?

最佳答案

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

关于java - 从两个或多个 Servlet 同步访问一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12202510/

相关文章:

jsp - 如何从servlet发送消息并在jsp中显示

C# - 从现有字典创建列表

JAVA:使用 DecimalFormat 时遇到问题?需要 30.40 而不是 30.4

java - 用Java计算平均成绩

java - 将不同线程中的日志消息分组

java - 带有 Spring : WARNING: javax. ws.rs.NotFoundException 的最新 CXF

java - 如何在Windows 上打开名称过长的JAVA servlet 文件?

java - HttpSession 中的同步是否可行?

java - 在 Java 中使变量同步且可见

java - 如何在android中同时渲染xml View 和java View