|
@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import javax.transaction.Transactional;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
@@ -99,6 +100,49 @@ public class HelloWorld {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ @PostMapping("/test4")
|
|
|
+ public void test4() throws Exception {
|
|
|
+ String defineId = "2004-VOEi56c25a67412a417fbf225ca1722f3a27";
|
|
|
+ Thread thread1 = new Thread() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ try {
|
|
|
+ log.info("{}开始,参数为: {}, {}", Thread.currentThread().getName(), null, "1");
|
|
|
+ alarmRecordFindAndUpdate(defineId, null, "1");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ thread1.start();
|
|
|
+
|
|
|
+ Thread thread2 = new Thread() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ try {
|
|
|
+ log.info("{}开始,参数为: {}, {}", Thread.currentThread().getName(), "xxx", "2");
|
|
|
+ alarmRecordFindAndUpdate(defineId, "xxx", "2");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ thread2.start();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public void alarmRecordFindAndUpdate(String defineId, String alarmId, String state) throws Exception {
|
|
|
+ Optional<ZktAlarmRecordDO> zktAlarmRecordDO = alarmRecordRepository.findById(defineId);
|
|
|
+ log.info("{}完成查询", Thread.currentThread().getName());
|
|
|
+ Thread.sleep(3000);
|
|
|
+ if (zktAlarmRecordDO.isPresent()) {
|
|
|
+ ZktAlarmRecordDO alarmRecordDO = zktAlarmRecordDO.get();
|
|
|
+ alarmRecordDO.setAlarmId(alarmId);
|
|
|
+ alarmRecordDO.setState(state);
|
|
|
+ alarmRecordRepository.save(alarmRecordDO);
|
|
|
+ }
|
|
|
+ log.info("{}完成更新", Thread.currentThread().getName());
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|