From 89cec191eb96d00ffc1b4cd5c3595ea6d25bc05e Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 22 Nov 2023 15:22:46 +0800 Subject: [PATCH 1/3] =?UTF-8?q?REPORT-109660=20F0052=E6=8B=BF=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/startup/ui/StartupPageWindow.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java index 43d2fd970..b5e1c5777 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java @@ -1,6 +1,7 @@ package com.fr.startup.ui; import com.fr.base.svg.IconUtils; +import com.fr.concurrent.NamedThreadFactory; import com.fr.design.DesignerEnvManager; import com.fr.design.dialog.UIExpandDialog; import com.fr.design.gui.icontainer.UIScrollPane; @@ -8,6 +9,8 @@ import com.fr.design.gui.ilable.UILabel; import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.VerticalFlowLayout; +import com.fr.design.mainframe.messagecollect.StartErrorMessageCollector; +import com.fr.design.mainframe.messagecollect.entity.DesignerErrorMessage; import com.fr.design.ui.util.UIUtil; import com.fr.design.utils.ColorUtils; import com.fr.design.utils.ThemeUtils; @@ -49,6 +52,8 @@ import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import java.util.List; import java.util.Map; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * 启动页 @@ -269,6 +274,14 @@ public class StartupPageWindow extends JFrame { setEnabled(true); }); FineLoggerFactory.getLogger().error(e.getMessage(), e); + ExecutorService executorService = Executors.newSingleThreadExecutor(new NamedThreadFactory(StartupPageWindow.this.getClass())); + executorService.submit(() -> StartErrorMessageCollector.getInstance().record(DesignerErrorMessage.UNEXCEPTED_START_FAILED.getId(), + DesignerErrorMessage.UNEXCEPTED_START_FAILED.getMessage(), + e.getMessage())); + if (!executorService.isShutdown()) { + executorService.shutdown(); + } + } finally { loadingPanel.hide(); } From 7b97185881461536328e6f7afa2480c35c4535ba Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 22 Nov 2023 15:45:50 +0800 Subject: [PATCH 2/3] =?UTF-8?q?REPORT-109660=20F0052=E6=8B=BF=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messagecollect/StartErrorMessageCollector.java | 12 ++++++++++++ .../java/com/fr/startup/ui/StartupPageWindow.java | 9 ++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java index 69342d13e..cc096bbf7 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.messagecollect; +import com.fr.concurrent.NamedThreadFactory; import com.fr.design.DesignerEnvManager; import com.fr.design.mainframe.errorinfo.ErrorInfo; import com.fr.log.FineLoggerFactory; @@ -7,6 +8,9 @@ import com.fr.stable.StringUtils; import com.fr.start.common.DesignerStartupContext; import com.fr.workspace.WorkContext; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + /** * * @author hades @@ -17,6 +21,7 @@ public class StartErrorMessageCollector { private static final StartErrorMessageCollector INSTANCE = new StartErrorMessageCollector(); + private ExecutorService executorService = Executors.newSingleThreadExecutor(new NamedThreadFactory(StartErrorMessageCollector.this.getClass())); private String uuid; private String activeKey; @@ -42,6 +47,13 @@ public class StartErrorMessageCollector { errorInfo.saveAsJSON(); } + /** + * 异步记录 + */ + public void asyncRecord(String id, String msg, String detail) { + executorService.submit(() -> record(id, msg, detail)); + } + public void record(String id, String msg) { record(id, msg, StringUtils.EMPTY); } diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java index b5e1c5777..156b1b3e1 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java @@ -274,14 +274,9 @@ public class StartupPageWindow extends JFrame { setEnabled(true); }); FineLoggerFactory.getLogger().error(e.getMessage(), e); - ExecutorService executorService = Executors.newSingleThreadExecutor(new NamedThreadFactory(StartupPageWindow.this.getClass())); - executorService.submit(() -> StartErrorMessageCollector.getInstance().record(DesignerErrorMessage.UNEXCEPTED_START_FAILED.getId(), + StartErrorMessageCollector.getInstance().asyncRecord(DesignerErrorMessage.UNEXCEPTED_START_FAILED.getId(), DesignerErrorMessage.UNEXCEPTED_START_FAILED.getMessage(), - e.getMessage())); - if (!executorService.isShutdown()) { - executorService.shutdown(); - } - + e.getMessage()); } finally { loadingPanel.hide(); } From bea38ab0f332c75975f0eaf3106191fbf81945a3 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 22 Nov 2023 16:55:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?REPORT-109711=20F0051=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E7=89=88=E8=A7=A6=E5=8F=91=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/JTemplate.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 73f6ea690..54469a407 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -1783,6 +1783,8 @@ public abstract class JTemplate> CallbackSaveWorker worker = new CallbackSaveWorker(new Callable() { @Override public Boolean call() throws Exception { + TemplateSaveInfoContext.getInstance().startRecord(); + TemplateSaveInfoContext.getInstance().collectInfo(template.suffix()); return saveAs(finalEditingFILE, sourceFile, oldName); } }, this);