在單模塊應用中,對同一個請求,須要進行同步。注意ReentrantLock的使用場景:java
@RestController public class Controller { private final ReentrantLock lock = new ReentrantLock(); ... @PostMapping public User add(User user){ lock.lock(); try{ ... } finally{ lock.unlock(); } } ... }
注意,這裏使用場景,必須是在同一線程,同一個請求,纔可以使用ReentrantLock。若是之後有機會,再嘗試一下redis+spring boot來實現分佈式鎖。redis
冪等性和高併發在電商系統中的使用spring