package com.fr.exit; import com.fr.design.env.DesignerWorkspaceGenerator; import com.fr.design.monitor.DesignerLifecycleMonitorContext; import com.fr.process.engine.core.FineProcessContext; import com.fr.process.engine.core.FineProcessEngineEvent; /** * @author hades * @version 10.0 * Created by hades on 2020/2/12 */ public class DesignerExiter { public static final DesignerExiter INSTANCE = new DesignerExiter(); public static DesignerExiter getInstance() { return INSTANCE; } public void execute() { DesignerLifecycleMonitorContext.getMonitor().beforeStop(); beforeExit(); if (FineProcessContext.getParentPipe() != null) { FineProcessContext.getParentPipe().syncFire(FineProcessEngineEvent.DESTROY); } System.exit(0); } private void beforeExit() { DesignerWorkspaceGenerator.stop(); } }