动态web项目中jsf+java+jsp一次一个用户可以访问一个方法

One User can access a method at a time in jsf+java+jsp in dynamic web project

我有一种方法可以创建文件并将其传输到 java 中的其他机器。 这是一个动态的 web 项目,java,jsp 和 jsf 已被用于相同的。

问题是该应用程序可以同时被不同的用户访问,但是对于每个用户我都使用一种方法来更改文件中的某些内容并将其传输到不同的机器。问题是如果一次有一些其他用户登录并更改文件,那么之前的用户将得到错误的文件。

我想将该方法设置为同步,以便一次只有一个用户可以访问同一方法。

请建议我在 java 中处理动态 Web 项目中的并发用户。 我正在使用 JSF

首先要考虑到每个用户请求都由服务器在单独的线程上处理,因此即使您没有在代码中创建线程,您也处于多线程环境中。

如果可能的话,我会为每个 user/request 创建一个能够管理文件的对象的不同实例。这样你就可以确定不同的用户不会overwrite/change设置。