Class JdiDefaultExecutionControl
java.lang.Object
jdk.jshell.execution.StreamingExecutionControl
jdk.jshell.execution.JdiExecutionControl
jdk.jshell.execution.JdiDefaultExecutionControl
- All Implemented Interfaces:
- AutoCloseable, ExecutionControl
The implementation of 
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.- Since:
- 9
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfaceStart an external process where the user's snippets can be run.Nested classes/interfaces declared in interface ExecutionControlExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
- 
Method SummaryModifier and TypeMethodDescriptionvoidclose()Closes the execution engine.Invokes an executable Snippet by calling a method on the specified wrapper class.voidstop()Interrupts a running remote invoke by manipulating remote variables and sending a stop via JDI.protected VirtualMachinevm()Returns the JDIVirtualMachineinstance.Methods declared in class JdiExecutionControlredefine, referenceTypeMethods declared in class StreamingExecutionControladdToClasspath, close, extensionCommand, load, varValueMethods declared in class Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface ExecutionControladdToClasspath, extensionCommand, load, varValue
- 
Method Details- 
invokepublic String invoke(String classname, String methodname) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException Description copied from interface:ExecutionControlInvokes an executable Snippet by calling a method on the specified wrapper class. The method must have no arguments and return String.- Specified by:
- invokein interface- ExecutionControl
- Overrides:
- invokein class- StreamingExecutionControl
- Parameters:
- classname- the class whose method should be invoked
- methodname- the name of method to invoke
- Returns:
- the result of the execution or null if no result
- Throws:
- ExecutionControl.UserException- the invoke raised a user exception
- ExecutionControl.ResolutionException- the invoke attempted to directly or indirectly invoke an unresolved snippet
- ExecutionControl.StoppedException- if the- invoke()was canceled by- ExecutionControl.stop()
- ExecutionControl.EngineTerminationException- the execution engine has terminated
- ExecutionControl.InternalException- an internal problem occurred
- ExecutionControl.RunException
 
- 
stoppublic void stop() throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalExceptionInterrupts a running remote invoke by manipulating remote variables and sending a stop via JDI.- Throws:
- ExecutionControl.EngineTerminationException- the execution engine has terminated
- ExecutionControl.InternalException- an internal problem occurred
 
- 
closepublic void close()Description copied from class:StreamingExecutionControlCloses the execution engine. Send an exit command to the remote agent.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- ExecutionControl
- Overrides:
- closein class- StreamingExecutionControl
 
- 
vmDescription copied from class:JdiExecutionControlReturns the JDIVirtualMachineinstance.- Specified by:
- vmin class- JdiExecutionControl
- Returns:
- the virtual machine
- Throws:
- ExecutionControl.EngineTerminationException- if the VM is dead/disconnected
 
 
-