Пример #1
0
 public static void addJvmOption(JvmElement element, String value) {
   element.getJvmOptions().addOption(value);
 }
    void addToOptions(JvmElement jvmElement, List<String> command) {
      String heap = jvmElement.getHeapSize();
      String maxHeap = jvmElement.getMaxHeap();

      // FIXME not the correct place to establish defaults
      if (maxHeap == null && heap != null) {
        maxHeap = heap;
      }
      if (heap == null && maxHeap != null) {
        heap = maxHeap;
      }

      addPermGen(jvmElement, command);

      // Add to command
      if (heap != null) {
        command.add("-Xms" + heap);
      }
      if (maxHeap != null) {
        command.add("-Xmx" + maxHeap);
      }
      if (jvmElement.getStack() != null) {
        command.add("-Xss" + jvmElement.getStack());
      }
      if (jvmElement.getAgentPath() != null) {
        command.add("-agentpath:" + jvmElement.getAgentPath());
      }
      if (jvmElement.getAgentLib() != null) {
        command.add("-agentlib:" + jvmElement.getAgentLib());
      }
      if (jvmElement.getJavaagent() != null) {
        command.add("-javaagent:" + jvmElement.getJavaagent());
      }
      if (jvmElement.isDebugEnabled() != null
          && jvmElement.isDebugEnabled()
          && jvmElement.getDebugOptions() != null) {
        command.add(jvmElement.getDebugOptions());
      }
      List<String> options = jvmElement.getJvmOptions().getOptions();
      if (options.size() > 0) {
        String jvmName = jvmElement.getName();
        for (String option : options) {

          if (!checkOption(
              heap != null && option.startsWith("-Xms"),
              jvmName,
              option,
              Element.HEAP.toString())) {
            continue;
          }
          if (!checkOption(
              maxHeap != null && option.startsWith("-Xmx"),
              jvmName,
              option,
              Element.HEAP.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.getStack() != null && option.startsWith("-Xss"),
              jvmName,
              option,
              Element.STACK.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.isDebugEnabled() != null
                  && jvmElement.isDebugEnabled()
                  && jvmElement.getDebugOptions() != null
                  && (option.startsWith("-Xrunjdwp") || option.startsWith("-agentlib:jdwp")),
              jvmName,
              option,
              Attribute.DEBUG_OPTIONS.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.getAgentPath() != null && option.startsWith("-agentpath:"),
              jvmName,
              option,
              Element.AGENT_PATH.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.getAgentLib() != null && option.startsWith("-agentlib:"),
              jvmName,
              option,
              Element.AGENT_LIB.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.getAgentLib() != null && option.startsWith("-javaagent:"),
              jvmName,
              option,
              Element.AGENT_LIB.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.getJavaagent() != null && option.startsWith("-Xmx"),
              jvmName,
              option,
              Element.JAVA_AGENT.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.getJavaagent() != null && option.startsWith("-XX:PermSize"),
              jvmName,
              option,
              Element.PERMGEN.toString())) {
            continue;
          }
          if (!checkOption(
              jvmElement.getJavaagent() != null && option.startsWith("-XX:MaxPermSize"),
              jvmName,
              option,
              Element.PERMGEN.toString())) {
            continue;
          }
          command.add(option);
        }
      }
    }