gpt4 book ai didi

java - 如何使用普通 JDBC 处理 J2EE 1.4 中的事务

转载 作者:搜寻专家 更新时间:2023-10-30 21:31:57 24 4
gpt4 key购买 nike

我正在开发一个酒店预订网站。它是一个 J2EE 1.4 Web 应用程序,使用 JSP 和 JDBC。

我有一个负责预订酒店房间的方法。

booking()

从这个方法我调用了其他四个方法

bookRooms()
makePayment()
confirmUserByMail()
confirmUserBySMS()

我知道两个用户可以尝试同时预订同一个房间,在我当前的系统中,两个用户最终可能会预订同一个房间。

我应该如何处理事务以避免此并发问题?

这可能是很常见的场景,但我以前从未处理过这种场景,所以请指导我。

最佳答案

最简单的方法是在代码中添加锁或使用数据库提供的锁。您可以在 java 中使用 volatile 或其他并发工具。

如果用户量不是很大,可以使用消息队列。将用户的访问封装成对象,将对象放入队列中,等待线程处理。如果用户太多,会占用大量内存空间。

我听说过另一种方式叫做乐观锁,但是我没有实际使用过,你可以试试。

ps如果用户量很大,也许你应该使用像Memcached这样的缓存。在内存中操作数据,然后将这些更改映射到数据库

关于java - 如何使用普通 JDBC 处理 J2EE 1.4 中的事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30811076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com