On 2/7/18 1:19 AM, Harsha Wardhana B wrote:

--start-management-agent will not be recognized in the current format and
hence will not default to --start-management-agent=local=true.

`--start-local-management-server` is one option as Alan suggests.
Another option is to make `--start-management-agent` to accept
an optional argument.  VM can accept `--start-management-agent`
or `--start-management-agent=port=1234,ssl=on`.  It may require
more launcher change to support it.

Below is the webrev with above changes and corresponding tests.

http://cr.openjdk.java.net/~hb/8187498/webrev.01/

arguments.cpp

3216         if (FLAG_SET_CMDLINE(bool, ManagementServer, true) != 
Flag::SUCCESS) {
3217           return JNI_EINVAL;
3218         }
3219         // management agent in module jdk.management.agent
3220         if (!create_numbered_property("jdk.module.addmods", 
"jdk.management.agent", addmods_count++)) {
3221           return JNI_ENOMEM;
3222         }

- you can consider refactor this to replace this block and line 2988-3994.

3224         jio_fprintf(defaultStream::output_stream(),
3225           "-Xmanagement is not supported in this VM.\n");

-Xmanagement not yet renamed

java.c
  To set the precedence for future VM long form options, I suggest to
rename IsManagementOption to IsVMLongFormOption and change the error
message not specific to management agent.

Agent.java
 If --start-management-agent is set, -Dcom.sun.management.* takes
 precedence.  Do you really want to do that?  The new VM option
 intends to simplify the command-line to type in.  I think it's
 cleaner and reasonable if --start-management-agent is specified,
 -Dcom.sun.management.* are ignored (maybe worth emit a warning if set)

 The implementation uses VMManagement::getVmArguments and scan
 the VM options for -start-management-agent.  The VM is the one
 invoking jdk.internal.agent.Agent::startAgent.  A simpler option
 is to change Agent::startAgent to take an argument parameter
 that will be passed with the argument of --start-management-agent
 or null if not set.

 Similarly for startRemoteManagementAgent and startLocalAgent_name.

 parseXmgmtArgs should be renamed as no longer -Xmgmt. Better not
 to tightly coupled with the option name.

 291         if(args.startsWith("--start-management-agent")) {
 292             return parseXmgmtArgs(args);
 293         }

What is this change for?

Mandy

Reply via email to