From 89cec191eb96d00ffc1b4cd5c3595ea6d25bc05e Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 22 Nov 2023 15:22:46 +0800 Subject: [PATCH] =?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 43d2fd9709..b5e1c57777 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(); }