Summary
Add new jhsdb tool options for the debugd mode to specify a RMI connector port, RMI connector host name, and RMI registry port .
Problem
When running a debug server on a remote host behind a firewall or inside a container it should be possible to specify what exact ports need to be used and what host name is returned in the remote stub object. Currently system property "sun.jvm.hotspot.rmi.port" can be used to specify the RMI registry port and system property "java.rmi.server.hostname" could be be used to specify the host name, but remote objects still communicate over random ports. An option to specify RMI connector port needs to be added. Also 2 more options to specify the RMI registry port and the host name needs to be added to the tool to simplify the command line that needs to be used to launch the tool in these cases and list these additional settings in the tool's help.
Solution
Introduce 3 new options to jhsdb command for the debugd mode:
--rmiport
to specify RMI connector port number,
--registryport
to specify RMI registry port number,
--hostname
to specify RMI connector host name.
Specification
jhsdb tool in the debugd mode can accept --rmiport
option to specify RMI connector port, --registryport
option to specify RMI registry port number, and --hostname
option to specify RMI connector host name. The value of --hostname
option could be a hostname or an IPv4/IPv6 address.
$ jhsdb debugd --help
--serverid <id> A unique identifier for this debug server.
--rmiport <port> Sets the port number to which the RMI connector is
bound. If not specified a random available port is used.
--registryport <port> Sets the RMI registry port.
This option overrides the system property
'sun.jvm.hotspot.rmi.port'.
If not specified, the system property is used.
If the system property is not set, the default port 1099 is used.
--hostname <hostname> Sets the host name the RMI connector
is bound. The value could be a hostname or an
IPv4/IPv6 address. This option overrides the system
property 'java.rmi.server.hostname'.
If not specified, the system property is used.
If the system property is not set, a system host name is used.
--pid <pid> To attach to and operate on the given live process.
--core <corefile> To operate on the given core file.
--exe <executable for corefile>
The --core and --exe options must be set together to give the core
file, and associated executable, to operate on. They can use
absolute or relative paths.
The --pid option can be set to operate on a live process.
--core and --pid are mutually exclusive.
Examples: jhsdb debugd --pid 1234
or jhsdb debugd --core ./core.1234 --exe ./myexe
- csr of
-
JDK-8196751 Add jhsdb option to specify debug server RMI connector port
- Resolved
- relates to
-
JDK-8264021 Add --disable-registry option to jhsdb debugd
- Closed