CheckDeviceStateAsync.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.huaxu.async;
  2. import com.huaxu.client.OperationManagerClient;
  3. import com.huaxu.service.AlarmDetailsService;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.springframework.beans.factory.InitializingBean;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. /**
  9. * @description 在初始化完成后启动一个线程
  10. * @auto wangli
  11. * @data 2020-11-17 20:42
  12. */
  13. @Service
  14. @Slf4j
  15. public class CheckDeviceStateAsync implements InitializingBean {
  16. @Autowired
  17. private AlarmDetailsService alarmDetailsService;
  18. @Override
  19. public void afterPropertiesSet() {
  20. new Thread(() -> {
  21. while (true) {
  22. try {
  23. alarmDetailsService.checkStateAlarm();
  24. } catch (Exception e){
  25. e.printStackTrace();
  26. log.error("巡检设备状态异常:{}",e.getMessage());
  27. }
  28. try {
  29. Thread.sleep(60000);
  30. } catch (InterruptedException e) {
  31. e.printStackTrace();
  32. log.error(e.getMessage());
  33. }
  34. }
  35. }).start();
  36. //报警信息生产工单信息
  37. new Thread(() -> {
  38. while (true) {
  39. try {
  40. alarmDetailsService.saveWorkOrderManageInfo();
  41. } catch (Exception e){
  42. e.printStackTrace();
  43. log.error("报警生成工单信息异常:{}",e.getMessage());
  44. }
  45. try {
  46. Thread.sleep(60000);
  47. } catch (InterruptedException e) {
  48. e.printStackTrace();
  49. log.error(e.getMessage());
  50. }
  51. }
  52. }).start();
  53. }
  54. }