Class JdiInitiator
java.lang.Object
jdk.jshell.execution.JdiInitiator
Sets up a JDI connection, providing the resulting JDI 
VirtualMachine
 and the Process the remote agent is running in.- Since:
- 9
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static interfaceCallback that should invoked when the remote process is invoked.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprocess()Returns the launched process.protected voidrunListenProcess(String jdiAddress, int jshellControlPort, List<String> remoteVMOptions, JdiInitiator.ProcessStarted setupVM) Create a process that will attach to the given address.vm()Returns the resultingVirtualMachineinstance.
- 
Constructor Details- 
JdiInitiatorpublic JdiInitiator(int port, List<String> remoteVMOptions, String remoteAgent, boolean isLaunch, String host, int timeout, Map<String, String> customConnectorArgs) Start the remote agent and establish a JDI connection to it.- Parameters:
- port- the socket port for (non-JDI) commands
- remoteVMOptions- any user requested VM command-line options
- remoteAgent- full class name of remote agent to launch
- isLaunch- does JDI do the launch? That is, LaunchingConnector, otherwise we start explicitly and use ListeningConnector
- host- explicit hostname to use, if null use discovered hostname, applies to listening only (!isLaunch)
- timeout- the start-up time-out in milliseconds. If zero or negative, will not wait thus will timeout immediately if not already started.
- customConnectorArgs- custom arguments passed to the connector. These are JDI com.sun.jdi.connect.Connector arguments. The- vmexecargument is not supported.
 
 
- 
- 
Method Details- 
vmReturns the resultingVirtualMachineinstance.- Returns:
- the virtual machine
 
- 
process
- 
runListenProcessprotected void runListenProcess(String jdiAddress, int jshellControlPort, List<String> remoteVMOptions, JdiInitiator.ProcessStarted setupVM) Create a process that will attach to the given address.- Parameters:
- jdiAddress- address on which a JDI server is waiting for a connection
- jshellControlPort- the port which the remote agent should connect to
- remoteVMOptions- VM options for the remote agent VM
- setupVM- a callback that should be called then the remote agent process is created. The callback will setup the JDI's- VirtualMachine.
- Since:
- 22
 
 
-