From 2217289657c3a402e132490497b10f3876bc1aa1 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期一, 06 十一月 2023 10:17:36 +0800
Subject: [PATCH] 获取三一地址
---
ard-work/src/main/java/com/ruoyi/cmd/startup.java | 347 +++++++++++++++++++++++++++++----------------------------
1 files changed, 178 insertions(+), 169 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/cmd/startup.java b/ard-work/src/main/java/com/ruoyi/cmd/startup.java
index 1f6c2c5..8466eda 100644
--- a/ard-work/src/main/java/com/ruoyi/cmd/startup.java
+++ b/ard-work/src/main/java/com/ruoyi/cmd/startup.java
@@ -1,170 +1,179 @@
-package com.ruoyi.cmd;
-
-import com.ruoyi.utils.process.CmdUtils;
-import com.sun.jna.Platform;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.ApplicationContextInitializer;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @Description: 澶栭儴绋嬪簭鍚姩
- * @ClassName: startup
- * @Author: 鍒樿嫃涔�
- * @Date: 2023骞�09鏈�22鏃�9:56:57
- **/
-@Slf4j(topic = "cmd")
-@Component
-public class startup implements ApplicationContextInitializer {
-
- //minio
- String minioName = "minio.exe";
- @Value("${minio.accessKey}")
- String accessKey;
- @Value("${minio.secretKey}")
- String secretKey;
- @Value("${minio.path}")
- 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";
- /**
- * 绋嬪簭鍒濆鍖栧惎鍔╮edis
- * 鍒樿嫃涔�
- * 2023/9/22 10:38:41
- */
- @Override
- public void initialize(ConfigurableApplicationContext applicationContext) {
- if (Platform.isWindows()) {
- String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "redis" + File.separator + redisName;
- List<String> cmd = new ArrayList<>();
- cmd.add(exePath);
- if (CmdUtils.isProcessRunning(redisName)) {
- // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
- CmdUtils.stopProcess(redisName);
- }
- // 鍚姩鍚庡彴杩涚▼
- CmdUtils.commandStart(redisName, cmd, null);
- // 鍚姩cmd绐楀彛
-// String[] command = {"cmd", "/c", "start", exePath, "-H127.0.0.1:8000", "-o"};
-// CmdUtils.commandStart(command);
- }
- }
-
- @PostConstruct
- public void init() {
- if (minioEnabled) {
- log.debug("鍒濆鍖栧惎鍔╩inio");
- if (Platform.isWindows()) {
- String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "minio" + File.separator + minioName;
- Map<String, String> env = new HashMap<>();
- env.put("MINIO_ROOT_USER", accessKey);
- env.put("MINIO_ROOT_PASSWORD", secretKey);
- List<String> cmd = new ArrayList<>();
- cmd.add(exePath);
- cmd.add("server");
- cmd.add(path);
- cmd.add("--console-address=0.0.0.0:9000");
- cmd.add("--address=0.0.0.0:9001");
- if (CmdUtils.isProcessRunning(minioName)) {
- // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
- CmdUtils.stopProcess(minioName);
- }
- // 鍚姩鍚庡彴杩涚▼
- CmdUtils.commandStart(minioName, cmd, env);
- // 鍚姩cmd绐楀彛
- //String[] command = {"cmd", "/c", "start", exePath};
- //CmdUtils.commandStart(command);
- }
- }
- if (mediamtxEnabled) {
- log.debug("鍒濆鍖栧惎鍔╩ediaMTX");
- if (Platform.isWindows()) {
- String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + mediamtxName;
- String ymlPath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.yml";
-
- List<String> cmd = new ArrayList<>();
- cmd.add(exePath);
- cmd.add(ymlPath);
- if (CmdUtils.isProcessRunning(mediamtxName)) {
- // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
- CmdUtils.stopProcess(mediamtxName);
- }
- // 鍚姩鍚庡彴杩涚▼
- CmdUtils.commandStart(mediamtxName, cmd, null);
- // 鍚姩cmd绐楀彛
-// String[] command = {"cmd","/c","start",exePath,ymlPath};
-// CmdUtils.commandStart(command);
- }
- }
- if (webrtcEnabled) {
- if (Platform.isWindows()) {
- String exePath = System.getProperty("user.dir") + File.separator + "lib" + 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);
- }
- }
- }
-
- @PreDestroy
- public void destroy() {
- if (minioEnabled) {
- log.info("閿�姣乵inio");
- if (CmdUtils.isProcessRunning(minioName)) {
- // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
- CmdUtils.stopProcess(minioName);
- }
- }
- if (mediamtxEnabled) {
- log.info("閿�姣乵ediaMtx");
- if (CmdUtils.isProcessRunning(mediamtxName)) {
- // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
- CmdUtils.stopProcess(mediamtxName);
- }
- }
- if (webrtcEnabled) {
- log.info("閿�姣亀ebrtc-streamer");
- if (CmdUtils.isProcessRunning(webrtcName)) {
- // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
- CmdUtils.stopProcess(webrtcName);
- }
- }
- if (true) {
- log.info("閿�姣乺edis");
- if (CmdUtils.isProcessRunning(redisName)) {
- // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
- CmdUtils.stopProcess(redisName);
- }
- }
- }
+package com.ruoyi.cmd;
+
+import com.ruoyi.utils.process.CmdUtils;
+import com.sun.jna.Platform;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.ApplicationContextInitializer;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.core.annotation.Order;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.ResourceLoader;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 澶栭儴绋嬪簭鍚姩
+ * @ClassName: startup
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�09鏈�22鏃�9:56:57
+ **/
+@Slf4j(topic = "cmd")
+@Component
+public class startup implements ApplicationContextInitializer {
+
+ //minio
+ String minioName = "minio.exe";
+ @Value("${minio.accessKey}")
+ String accessKey;
+ @Value("${minio.secretKey}")
+ String secretKey;
+ @Value("${minio.path}")
+ 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";
+
+ /**
+ * 绋嬪簭鍒濆鍖栧惎鍔╮edis
+ * 鍒樿嫃涔�
+ * 2023/9/22 10:38:41
+ */
+ @Override
+ public void initialize(ConfigurableApplicationContext applicationContext) {
+ if (Platform.isWindows()) {
+ String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "redis" + File.separator + redisName;
+ List<String> cmd = new ArrayList<>();
+ cmd.add(exePath);
+ if (CmdUtils.isProcessRunning(redisName)) {
+ // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
+ CmdUtils.stopProcess(redisName);
+ }
+ // 鍚姩鍚庡彴杩涚▼
+ CmdUtils.commandStart(redisName, cmd, null);
+ // 鍚姩cmd绐楀彛
+ //String[] command = {"cmd", "/c", "start", exePath, "-H127.0.0.1:8000", "-o"};
+ //CmdUtils.commandStart(command);
+ }
+ }
+
+ @PostConstruct
+ @Order(1)
+ public void init() {
+ if (minioEnabled) {
+ log.info("鍒濆鍖栧惎鍔╩inio");
+ if (Platform.isWindows()) {
+ String exePath = System.getProperty("user.dir") + File.separator + "server" + File.separator + "minio" + File.separator + minioName;
+ Map<String, String> env = new HashMap<>();
+ env.put("MINIO_ROOT_USER", accessKey);
+ env.put("MINIO_ROOT_PASSWORD", secretKey);
+ List<String> cmd = new ArrayList<>();
+ cmd.add(exePath);
+ cmd.add("server");
+ cmd.add(path);
+ cmd.add("--console-address=0.0.0.0:9000");
+ cmd.add("--address=0.0.0.0:9001");
+ if (CmdUtils.isProcessRunning(minioName)) {
+ // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
+ CmdUtils.stopProcess(minioName);
+ }
+ // 鍚姩鍚庡彴杩涚▼
+ CmdUtils.commandStart(minioName, cmd, env);
+ // 鍚姩cmd绐楀彛
+ //String[] command = {"cmd", "/c", "start", exePath};
+ //CmdUtils.commandStart(command);
+ }
+ }
+ if (mediamtxEnabled) {
+ log.info("鍒濆鍖栧惎鍔╩ediaMTX");
+ 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";
+
+ List<String> cmd = new ArrayList<>();
+ cmd.add(exePath);
+ cmd.add(ymlPath);
+ if (CmdUtils.isProcessRunning(mediamtxName)) {
+ // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
+ CmdUtils.stopProcess(mediamtxName);
+ }
+ // 鍚姩鍚庡彴杩涚▼
+ CmdUtils.commandStart(mediamtxName, cmd, null);
+ // 鍚姩cmd绐楀彛
+// String[] command = {"cmd","/c","start",exePath,ymlPath};
+// CmdUtils.commandStart(command);
+ }
+ }
+ if (webrtcEnabled) {
+ log.info("鍒濆鍖栧惎鍔╳ebrtc-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);
+ }
+ }
+ }
+
+ @PreDestroy
+ public void destroy() {
+ if (minioEnabled) {
+ log.info("閿�姣乵inio");
+ if (CmdUtils.isProcessRunning(minioName)) {
+ // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
+ CmdUtils.stopProcess(minioName);
+ }
+ }
+ if (mediamtxEnabled) {
+ log.info("閿�姣乵ediaMtx");
+ if (CmdUtils.isProcessRunning(mediamtxName)) {
+ // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
+ CmdUtils.stopProcess(mediamtxName);
+ }
+ }
+ if (webrtcEnabled) {
+ log.info("閿�姣亀ebrtc-streamer");
+ if (CmdUtils.isProcessRunning(webrtcName)) {
+ // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
+ CmdUtils.stopProcess(webrtcName);
+ }
+ }
+ if (true) {
+ log.info("閿�姣乺edis");
+ if (CmdUtils.isProcessRunning(redisName)) {
+ // 杩涚▼宸茬粡鍦ㄨ繍琛岋紝缁撴潫璇ヨ繘绋�
+ CmdUtils.stopProcess(redisName);
+ }
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3