验证和数据库更新:Java Servlet

时间:2014-03-13 18:34:05

标签: java multithreading validation servlets

让我首先提供我的申请的执行流程。

在申请中,订阅者可以通过提供他们的信息和信用卡号码进行注册。根据提供的信息,应用程序返回成功/失败响应。

在应用程序中检查一个CC号码只能在固定次数使用。应用程序检查是否超出该计数。如果是,则返回失败响应。

从技术上讲,它是使用J2EE架构(servlet和JSP)设计的。现在,对CC使用计数的检查远远高于插入逻辑。因此,如果CC限制被配置为1,并且具有相同CC编号的2个注册请求同时出现,则两个订户都会注册,而理想情况下只有一个应该注册。

任何人都可以帮我解决这个问题吗?一个可能的解决方案是将操作集合在一起(检查和插入)并将它们包装在静态同步块中。然而,在这种特定情况下,这似乎不合适,因为它扰乱了整个流程。还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

当你读取存储卡使用了多少次时(我假设这是你桌子上的一列)

执行更新时,如果表中的列与先前存储的值相同,则将更新限制为仅执行更新。

如果您更新1行,那么您将获胜。

如果您的更新没有更新1行,则该卡已被多次使用。