AutoCloseable
, ExecutionControl
public class JdiDefaultExecutionControl extends JdiExecutionControl
ExecutionControl
that the JShell-core uses by default. Launches a remote process -- the "remote agent". Interfaces to the remote agent over a socket and via JDI. Designed to work with RemoteExecutionControl
.ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Closes the execution engine. |
String |
invoke |
Invokes an executable Snippet by calling a method on the specified wrapper class. |
void |
stop() |
Interrupts a running remote invoke by manipulating remote variables and sending a stop via JDI. |
protected VirtualMachine |
vm() |
Returns the JDI VirtualMachine instance. |
redefine, referenceType
addToClasspath, close, extensionCommand, load, varValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addToClasspath, extensionCommand, load, varValue
public String invoke(String classname, String methodname) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
ExecutionControl
invoke
in interface ExecutionControl
invoke
in class StreamingExecutionControl
classname
- the class whose method should be invokedmethodname
- the name of method to invokeExecutionControl.UserException
- the invoke raised a user exceptionExecutionControl.ResolutionException
- the invoke attempted to directly or indirectly invoke an unresolved snippetExecutionControl.StoppedException
- if the invoke()
was canceled by ExecutionControl.stop()
ExecutionControl.EngineTerminationException
- the execution engine has terminatedExecutionControl.InternalException
- an internal problem occurredExecutionControl.RunException
public void stop() throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
ExecutionControl.EngineTerminationException
- the execution engine has terminatedExecutionControl.InternalException
- an internal problem occurredpublic void close()
StreamingExecutionControl
close
in interface AutoCloseable
close
in interface ExecutionControl
close
in class StreamingExecutionControl
protected VirtualMachine vm() throws ExecutionControl.EngineTerminationException
JdiExecutionControl
VirtualMachine
instance.vm
in class JdiExecutionControl
ExecutionControl.EngineTerminationException
- if the VM is dead/disconnected
© 1993, 2023, 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/21/docs/api/jdk.jshell/jdk/jshell/execution/JdiDefaultExecutionControl.html