- java.lang.Object
- 
- jdk.jshell.execution.DirectExecutionControl
- 
- jdk.jshell.execution.RemoteExecutionControl
 
 
- 
- All Implemented Interfaces:
- AutoCloseable,- ExecutionControl
 
 public class RemoteExecutionControl extends DirectExecutionControl implements ExecutionControl The remote agent runs in the execution process (separate from the main JShell process). This agent loads code over a socket from the main JShell process, executes the code, and other misc, Specialization ofDirectExecutionControlwhich adds stop support controlled by an external process. Designed to work withJdiDefaultExecutionControl.- Since:
- 9
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces declared in interface jdk.jshell.spi.ExecutionControlExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
 
- 
 - 
Constructor SummaryConstructors Constructor Description RemoteExecutionControl()Create an instance using the default class loading.RemoteExecutionControl(LoaderDelegate loaderDelegate)Creates an instance, delegating loader operations to the specified delegate.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidmain(String[] args)Launch the agent, connecting to the JShell-core over the socket specified in the command-line argument.voidredefine(ExecutionControl.ClassBytecodes[] cbcs)Redefine processing on the remote end is only to register the redefined classes- 
Methods declared in class jdk.jshell.execution.DirectExecutionControlclassesRedefined, clientCodeEnter, clientCodeLeave, findClass, invoke, stop, throwConvertedInvocationException, throwConvertedOtherException, valueString
 - 
Methods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods declared in interface jdk.jshell.spi.ExecutionControladdToClasspath, close, extensionCommand, invoke, load, stop, varValue
 
- 
 
- 
- 
- 
Constructor Detail- 
RemoteExecutionControlpublic RemoteExecutionControl(LoaderDelegate loaderDelegate) Creates an instance, delegating loader operations to the specified delegate.- Parameters:
- loaderDelegate- the delegate to handle loading classes
 
 - 
RemoteExecutionControlpublic RemoteExecutionControl() Create an instance using the default class loading.
 
- 
 - 
Method Detail- 
mainpublic static void main(String[] args) throws Exception Launch the agent, connecting to the JShell-core over the socket specified in the command-line argument.- Parameters:
- args- standard command-line arguments, expectation is the socket number is the only argument
- Throws:
- Exception- any unexpected exception
 
 - 
redefinepublic void redefine(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.NotImplementedException, ExecutionControl.EngineTerminationException Redefine processing on the remote end is only to register the redefined classes- Specified by:
- redefinein interface- ExecutionControl
- Parameters:
- cbcs- the class name and bytecodes to redefine
- Throws:
- ExecutionControl.ClassInstallException- exception occurred redefining the classes, some or all were not redefined
- ExecutionControl.NotImplementedException- if not implemented
- ExecutionControl.EngineTerminationException- the execution engine has terminated
 
 
- 
 
-