Browse Source

REPORT-78589&&REPORT-78594&&REPORT-78596

改了一下注释以及创建线程池的工具类
feature/x
John.Ying 2 years ago
parent
commit
71930bf87e
  1. 10
      designer-base/src/main/java/com/fr/design/carton/EventDispatchThreadHangMonitor.java
  2. 2
      designer-base/src/main/java/com/fr/design/carton/SwitchForSwingChecker.java

10
designer-base/src/main/java/com/fr/design/carton/EventDispatchThreadHangMonitor.java

@ -1,5 +1,6 @@
package com.fr.design.carton;
import com.fr.concurrent.FineExecutors;
import com.fr.json.JSONObject;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.ArrayUtils;
@ -235,14 +236,13 @@ public final class EventDispatchThreadHangMonitor extends EventQueue {
}
/**
* 参考SwingExploer,在处理模态框时没有做特殊处理也不会输出卡顿堆栈
* 原因是SwingExploer窗口一直有一个监听事件不断的addremove
* 由于卡顿日志输出的是事件连续执行的时间所以一个长时间存在的模态框被不断重复的
* 监听事件刷新时间就不会输出了
* 参考SwingExplorer,在处理模态框时没有做特殊处理也不会输出卡顿堆栈
* 原因是SwingExplorer窗口一直有一个监听事件不断的addremove
* 由于卡顿日志输出的是事件连续执行的时间所以一个长时间存在的模态框被不断重复的监听事件刷新时间就不会输出了
* 当检测开关打开后在这里模拟一下监听事件给个不耗时的任务就可以
*/
public void startFilterModalWindow() {
scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService = FineExecutors.newSingleThreadScheduledExecutor();
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {

2
designer-base/src/main/java/com/fr/design/carton/SwitchForSwingChecker.java

@ -249,7 +249,7 @@ public class SwitchForSwingChecker implements XMLReadable, XMLWriter {
*/
public static void initThreadMonitoring () {
String mainClass = System.getProperty("sun.java.command");
//判断一下,如果是以Designer4Debug启动,就不注册代码,不然会覆盖掉Swing Exploer,导致其无法使用
//判断一下,如果是以Designer4Debug启动,就不注册代码,不然会覆盖掉SwingExplorer,导致其无法使用
if (!StringUtils.equals(mainClass, DEBUG_MAIN_CLASS_NAME)) {
EventDispatchThreadHangMonitor.initMonitoring();
AppContext.getAppContext().put(SwingWorker.class, CartonThreadExecutorPool.getTimerThreadExecutorPool());

Loading…
Cancel
Save