Browse Source

REPORT-71839 设计器启动时启动服务器,仍连曾断开的服务器,会有远程更新提醒

new-design
pengda 2 years ago
parent
commit
35ce746187
  1. 4
      designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java
  2. 21
      designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java
  3. 10
      designer-base/src/main/java/com/fr/start/BaseDesigner.java
  4. 12
      designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java

4
designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java

@ -433,7 +433,9 @@ public class EnvChangeEntrance {
DesignerExiter.getInstance().execute();
} else {
updateNotRememberPwdEnv();
VersionCheckUtils.showVersionCheckDialog(envListPane.getSelectedName());
if (DesignerContext.getDesignerFrame().isVisible()) {
VersionCheckUtils.showVersionCheckDialog(envListPane.getSelectedName());
}
}
}

21
designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java

@ -52,6 +52,7 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import javax.swing.SwingWorker;
/**
* @author pengda
@ -95,9 +96,23 @@ public class VersionCheckUtils {
}
public static void showVersionCheckDialog(String envName) {
if (!VersionCheckUtils.versionCheck(envName)) {
showNotificationDialog(envName);
}
new SwingWorker<Boolean, Void>() {
@Override
protected Boolean doInBackground() {
return !VersionCheckUtils.versionCheck(envName);
}
@Override
protected void done() {
try {
if (get()) {
showNotificationDialog(envName);
}
} catch (Exception e) {
FineLoggerFactory.getLogger().warn(e.getMessage(), e);
}
}
}.execute();
}
private static void showNotificationDialog(String envName) {

10
designer-base/src/main/java/com/fr/start/BaseDesigner.java

@ -18,6 +18,7 @@ import com.fr.design.mainframe.DesignerFrame;
import com.fr.design.mainframe.toolbar.ToolBarMenuDock;
import com.fr.design.monitor.DesignerLifecycleMonitorContext;
import com.fr.design.ui.util.UIUtil;
import com.fr.design.versioncheck.VersionCheckUtils;
import com.fr.event.Event;
import com.fr.event.EventDispatcher;
import com.fr.event.Listener;
@ -90,10 +91,19 @@ public abstract class BaseDesigner extends ToolBarMenuDock {
EventDispatcher.fire(WorkspaceStatus.Prepared);
EventDispatcher.asyncFire(LazyStartupEvent.INSTANCE);
collectUserInformation();
checkVersion();
}
});
}
private void checkVersion() {
try {
VersionCheckUtils.showVersionCheckDialog(DesignerEnvManager.getEnvManager().getCurEnvName());
} catch (Exception e) {
FineLoggerFactory.getLogger().warn("Check Service Failed");
}
}
public void show() {
UIUtil.invokeLaterIfNeeded(this::refreshTemplateTree);
}

12
designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java

@ -56,18 +56,6 @@ public class DesignerWorkspaceProvider extends Activator {
EnvChangeEntrance.getInstance().dealEvnExceptionWhenStartDesigner(null, workspaceInfo);
} else {
WorkContext.switchTo(workspace);
//在设计器完全启动完成后,对初始环境进行一次服务检测,对主要功能无影响,异常仅做日志提示即可
final String selectEnv = current;
EventDispatcher.listen(DesignerLaunchStatus.STARTUP_COMPLETE, new Listener<Null>() {
@Override
public void on(Event event, Null aNull) {
try {
VersionCheckUtils.showVersionCheckDialog(selectEnv);
} catch (Exception e) {
FineLoggerFactory.getLogger().warn("Check Service Failed");
}
}
});
}
} catch (Throwable e) {
EnvChangeEntrance.getInstance().dealEvnExceptionWhenStartDesigner(e, workspaceInfo);

Loading…
Cancel
Save