package com.mes.common; import cn.hutool.json.JSONObject; import com.mes.downworkstation.service.DownWorkstationService; import com.mes.tools.WebSocketServer; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.function.Supplier; @Component public class Plchome extends Thread { private int i = 1; private static final Logger log = LogManager.getLogger(Plchome.class); @Autowired private DownWorkstationService downWorkstationService; // private final Supplier plcServiceSupplier; // public Plchome() { // this.plcServiceSupplier = () -> WebSocketServer.applicationContext.getBean(DownGlassLogic.class); // } @Override public void run() { while (!Thread.currentThread().isInterrupted()) { try { i++; Thread.sleep(1000); JSONObject jsonObject = new JSONObject(); System.out.println(77); downWorkstationService = WebSocketServer.applicationContext.getBean(DownWorkstationService.class); List> yy= downWorkstationService.getTotalGlassDimensionsByWorkstation(); jsonObject.append("data", yy); ArrayList sendwServer = WebSocketServer.sessionMap.get("unloadglass"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { webserver.sendMessage(jsonObject.toString()); log.info("准备向 WebSocket 服务器发送消息: {}", jsonObject.toString()); } } } catch (InterruptedException e) { Thread.currentThread().interrupt(); e.printStackTrace(); } } } }