gpt4 book ai didi

java - 锁定java中的特定方法

转载 作者:行者123 更新时间:2023-12-01 17:21:00 25 4
gpt4 key购买 nike

在我的java web应用程序中,有一个操作可以更新订单对象并通过ajax调用(POST请求)将其保存在数据库中。

方法 saveOrder() 执行此操作,如果多个用户执行相同的操作,则应该对该方法加锁,以便使用最新的数据执行写入事务。

类文件代码如下

public class OrderLoader extends JSONProcessSimple {

@override
public JSONObject exec(JSONObject jsonsent) throws JSONException, ServletException {
JSONObject result = this.saveOrder(array);
return result;
}

public JSONObject saveOrder(JSONArray jsonarray) throws JSONException {
JSONObject jsonResponse = new JSONObject();
//Write operation on DB
return jsonResponse;
}
}

是否可以通过同步方法,请建议我一个解决方案。

提前致谢!

最佳答案

根据您的应用程序的架构(它是否在集群环境中的多个并行实例中运行?),没有简单的解决方案;如果它仅在一个虚拟机中执行,synchronized 可能是一种方法。另外,请查看 java.util.concurrent.lock包。

对于更复杂的分布式方法,您可以实现基于数据库的锁。

关于java - 锁定java中的特定方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18784249/

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