当请求到来时我有一个Servlet来检查用户ID,然后如果不存在id,它会在数据库中创建一个新的用户ID。但是如果我以非常短的延迟获得多个请求,那么所有这些请求往往会看到目前没有用户并创建具有相同名称的多个用户。我只是不想让用户id字段唯一来解决这个问题。除了用户ID之外,我还存储了一些相关数据。
我需要知道在一个Servlet请求完成处理之前如何保持数据库锁定。
答案 0 :(得分:-1)
您需要使servlet代码同步。
简单的方法是让你的servlet实现SingleThreadModel。
http://www.javatpoint.com/SingleThreadModel-interface
但这不是一个好方法,因为你的servlet一次只能处理一个线程/请求。好的解决方案是同步检查和生成uid的部分。