diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java index bc001c2..fdae2ac 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java @@ -14,6 +14,7 @@ import org.nl.acs.ext.wms.data.CreateTaskRequest; import org.nl.acs.ext.wms.data.CreateTaskResponse; import org.nl.acs.ext.wms.service.WmsToAcsService; //import org.nl.modules.logging.InterfaceLogType; +import org.nl.acs.utils.LockUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.logging.annotation.Log; import org.springframework.http.HttpStatus; @@ -38,28 +39,13 @@ import java.util.concurrent.locks.ReentrantLock; @Slf4j public class WmsToAcsController { private final WmsToAcsService wmstoacsService; - private ReentrantLock lock = new ReentrantLock(); @PostMapping("/task") @Log(value = "ACS接收WMS任务") @ApiOperation("接收WMS任务") @SaIgnore public ResponseEntity createFromWms(@RequestBody List reqs) { - CreateTaskResponse response = new CreateTaskResponse(); - try { - if (lock.tryLock() || lock.tryLock(2, TimeUnit.SECONDS)){ - response = wmstoacsService.crateTask(reqs); - Thread.sleep(50000); - }else { - throw new BadRequestException("当前acs正在执行创建任务稍后再试"); - } - }catch (Exception ex){ - throw new BadRequestException("当前acs正在执行创建任务稍后再试"); - }finally { - if (lock.isHeldByCurrentThread() && lock.isLocked()){ - lock.unlock(); - } - } + CreateTaskResponse response = LockUtils.lock("apply", () -> wmstoacsService.crateTask(reqs), 3); return new ResponseEntity<>(response, HttpStatus.OK); }