Explorar o código

JvmStartCheck功能测试

邓沙利文 %!s(int64=3) %!d(string=hai) anos
pai
achega
35238e80e1

+ 10 - 3
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/Reverses.java

@@ -109,12 +109,19 @@ public class Reverses {
                             }
                             if (!Constant.JVM_START_CHECK_NO_ITEM_CONTENT.equals(jvmStartCheck)) {
                                 List<String> inputArguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
-                                Logger.debug(Reverses.class, "Parse jvm start args -> " + inputArguments);
+                                Logger.debug(Reverses.class, "Parse jvm args -> " + inputArguments);
                                 Arrays.stream(jvmStartCheck.split(Constant.WHITE_SPACE))
                                         .filter(str -> !StrUtil.isBlank(str))
                                         .forEach(jvmItem -> {
-                                            if (!inputArguments.contains(jvmItem)) {
-                                                throw new IllegalArgumentException("Miss jvm start arg -> " + jvmItem);
+                                            boolean containTargetArg = false;
+                                            for (String inputArgument : inputArguments) {
+                                                if (jvmItem.equalsIgnoreCase(inputArgument)) {
+                                                    containTargetArg = true;
+                                                    break;
+                                                }
+                                            }
+                                            if (!containTargetArg) {
+                                                throw new IllegalArgumentException("Miss jvm arg -> " + jvmItem);
                                             }
                                         });
                             }

+ 1 - 1
class-winter-core/src/test/java/winter/com/ideaaedi/classwinter/JvmStartCheck_Test.java

@@ -47,6 +47,6 @@ public class JvmStartCheck_Test {
         String javaagentArgs = "";
         // String javaagentArgs = "=debug=true";
         // String javaagentArgs = "=debug=true,password=xxx";
-        BashUtil.runBashAndPrint(String.format("java -javaagent:%s%s=debug=true -jar %s", encryptedJar, javaagentArgs, encryptedJar));
+        BashUtil.runBashAndPrint(String.format("java -javaagent:%s%s=debug=true -XX:+DisableAttachMechanism -Xms1022M -jar %s", encryptedJar, javaagentArgs, encryptedJar));
     }
 }