Spec-Zone.ru › OpenJDK 25

Class JdiInitiator

java.lang.Object
jdk.jshell.execution.JdiInitiator
public class JdiInitiator extends Object
Sets up a JDI connection, providing the resulting JDI VirtualMachine and the Process the remote agent is running in.
Since:
9

Nested Class Summary

Modifier and Type Class Description
protected static interface  JdiInitiator.ProcessStarted
Callback that should invoked when the remote process is invoked.

Constructor Summary

Constructor Description
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.

Method Summary

Modifier and Type Method Description
Process process()
Returns the launched process.
protected void runListenProcess(String jdiAddress, int jshellControlPort, List<String> remoteVMOptions, JdiInitiator.ProcessStarted setupVM)
Create a process that will attach to the given address.
VirtualMachine vm()
Returns the resulting VirtualMachine instance.

Methods declared in class Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

JdiInitiator

public 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 vmexec argument is not supported.

Method Details

vm

public VirtualMachine vm()
Returns the resulting VirtualMachine instance.
Returns:
the virtual machine

process

public Process process()
Returns the launched process.
Returns:
the remote agent process

runListenProcess

protected 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

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jshell/jdk/jshell/execution/JdiInitiator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API