diff --git a/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java b/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java index 3ab10c7..6608f77 100644 --- a/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java +++ b/iot-machine-state-event-generator-job/src/main/java/com/qniao/iot/machine/event/generator/job/IotMachineEventGeneratorJob.java @@ -72,6 +72,7 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.concurrent.locks.ReentrantLock; @Slf4j public class IotMachineEventGeneratorJob { @@ -100,6 +101,8 @@ public class IotMachineEventGeneratorJob { "where qmrs.iot_mac = ?\n" + " and qmrs.is_delete = 0"; + private static final ReentrantLock lock = new ReentrantLock(true); + /** * 当前索引日期后缀 */ @@ -420,6 +423,7 @@ public class IotMachineEventGeneratorJob { GetIndexRequest exist = new GetIndexRequest(indicesName); // 先判断客户端是否存在 try { + lock.lock(); boolean exists = restHighLevelClient.indices().exists(exist, RequestOptions.DEFAULT); if (!exists) { // 创建索引 @@ -494,6 +498,8 @@ public class IotMachineEventGeneratorJob { } } catch (Exception e) { e.printStackTrace(); + }finally { + lock.unlock(); } }