‘liusuyi’
2024-04-12 7de353fa99cfe82101c434b5d080f6a5a1945aac
ard-work/src/main/java/com/ruoyi/cmd/startup.java
@@ -41,16 +41,11 @@
    String path;
    @Value("${minio.enabled}")
    Boolean minioEnabled;
    //mediamtx
    String mediamtxName = "mediamtx.exe";
    @Value("${mediamtx.enabled}")
    Boolean mediamtxEnabled;
    //webrtc-streamer
    String webrtcName = "webrtc-streamer.exe";
    @Value("${webrtc.host}")
    String webrtcHost;
    @Value("${webrtc.enabled}")
    Boolean webrtcEnabled;
    //redis
    String redisName = "redis-server.exe";
@@ -62,7 +57,8 @@
    @Override
    public void initialize(ConfigurableApplicationContext applicationContext) {
        if (Platform.isWindows()) {
            String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "redis" + File.separator + redisName;
            String workingDir = System.getProperty("user.dir") + File.separator + "server" + File.separator + "redis";
            String exePath = workingDir +File.separator+ redisName;
            List<String> cmd = new ArrayList<>();
            cmd.add(exePath);
            if (CmdUtils.isProcessRunning(redisName)) {
@@ -70,7 +66,7 @@
                CmdUtils.stopProcess(redisName);
            }
            // 启动后台进程
            CmdUtils.commandStart(redisName, cmd, null);
            CmdUtils.commandStart(workingDir, redisName, cmd, null);
            // 启动cmd窗口
            //String[] command = {"cmd", "/c", "start", exePath, "-H127.0.0.1:8000", "-o"};
            //CmdUtils.commandStart(command);
@@ -83,7 +79,8 @@
        if (minioEnabled) {
            log.info("初始化启动minio");
            if (Platform.isWindows()) {
                String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "minio" + File.separator + minioName;
                String workingDir = System.getProperty("user.dir") + File.separator + "server" + File.separator + "minio";
                String exePath = workingDir + File.separator + minioName;
                Map<String, String> env = new HashMap<>();
                env.put("MINIO_ROOT_USER", accessKey);
                env.put("MINIO_ROOT_PASSWORD", secretKey);
@@ -98,7 +95,7 @@
                    CmdUtils.stopProcess(minioName);
                }
                // 启动后台进程
                CmdUtils.commandStart(minioName, cmd, env);
                CmdUtils.commandStart(workingDir, minioName, cmd, env);
                // 启动cmd窗口
                //String[] command = {"cmd", "/c", "start", exePath};
                //CmdUtils.commandStart(command);
@@ -107,40 +104,21 @@
        if (mediamtxEnabled) {
            log.info("初始化启动mediaMTX");
            if (Platform.isWindows()) {
                String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "mediamtx" + File.separator + mediamtxName;
                String ymlPath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "mediamtx" + File.separator + "mediamtx.yml";
                String workingDir = System.getProperty("user.dir") + File.separator + "server" + File.separator + "mediamtx";
                String exePath = workingDir + File.separator + mediamtxName;
                String ymlPath = workingDir + File.separator + "mediamtx.yml";
                List<String> cmd = new ArrayList<>();
                cmd.add(exePath);
                cmd.add(ymlPath);
               // cmd.add(ymlPath);
                if (CmdUtils.isProcessRunning(mediamtxName)) {
                    // 进程已经在运行,结束该进程
                    CmdUtils.stopProcess(mediamtxName);
                }
                // 启动后台进程
                CmdUtils.commandStart(mediamtxName, cmd, null);
                CmdUtils.commandStart(workingDir, mediamtxName, cmd, null);
                // 启动cmd窗口
//            String[] command = {"cmd","/c","start",exePath,ymlPath};
//            CmdUtils.commandStart(command);
            }
        }
        if (webrtcEnabled) {
            log.info("初始化启动webrtc-streamer");
            if (Platform.isWindows()) {
                String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "webrtc" + File.separator + webrtcName;
                List<String> cmd = new ArrayList<>();
                cmd.add(exePath);
                cmd.add("-H" + webrtcHost);
                cmd.add("-o");
                if (CmdUtils.isProcessRunning(webrtcName)) {
                    // 进程已经在运行,结束该进程
                    CmdUtils.stopProcess(webrtcName);
                }
                // 启动后台进程
                CmdUtils.commandStart(webrtcName, cmd, null);
                // 启动cmd窗口
//                String[] command = {"cmd", "/c", "start", exePath, "-H127.0.0.1:8000", "-o"};
//                CmdUtils.commandStart(command);
                //String[] command = {"cmd","/c","start",exePath,ymlPath};
                //CmdUtils.commandStart(command);
            }
        }
    }
@@ -161,13 +139,6 @@
                CmdUtils.stopProcess(mediamtxName);
            }
        }
        if (webrtcEnabled) {
            log.info("销毁webrtc-streamer");
            if (CmdUtils.isProcessRunning(webrtcName)) {
                // 进程已经在运行,结束该进程
                CmdUtils.stopProcess(webrtcName);
            }
        }
        if (true) {
            log.info("销毁redis");
            if (CmdUtils.isProcessRunning(redisName)) {
@@ -176,4 +147,4 @@
            }
        }
    }
}
}