Класс RemoteExecutionControl
- java.lang.Object
-
- jdk.jshell.execution.DirectExecutionControl
-
- jdk.jshell.execution.RemoteExecutionControl
- Все реализованные интерфейсы:
-
AutoCloseable,ExecutionControl
public class RemoteExecutionControl extends DirectExecutionControl implements ExecutionControl
Удаленный агент выполняется в процессе выполнения (отдельно от основного процесса JShell). Этот агент загружает код через сокет из основного процесса JShell, выполняет код и выполняет другие вспомогательные действия. Специализация DirectExecutionControl, которая добавляет поддержку остановки, управляемой внешним процессом. Разработан для работы с JdiDefaultExecutionControl.
- С тех пор:
- 9
Вложенные классы
Вложенные классы/интерфейсы, объявленные в интерфейсе jdk.jshell.spi.ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
Конструкторы
| Конструктор | Описание |
|---|---|
RemoteExecutionControl() |
Создать экземпляр, используя стандартную загрузку классов. |
RemoteExecutionControl(LoaderDelegate loaderDelegate) |
Создает экземпляр, делегируя операции загрузчика указанному делегату. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static void |
main(String[] args) |
Запустить агент, подключившись к JShell-ядру через сокет, указанный в аргументе командной строки. |
void |
redefine(ExecutionControl.ClassBytecodes[] cbcs) |
Переопределение обработки на удалённом конце сводится только к регистрации переопределённых классов. |
Методы, объявленные в классе jdk.jshell.execution.DirectExecutionControl
classesRedefined, clientCodeEnter, clientCodeLeave, findClass, invoke, stop, throwConvertedInvocationException, throwConvertedOtherException, valueString
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе jdk.jshell.spi.ExecutionControl
addToClasspath, close, extensionCommand, invoke, load, stop, varValue
Конструкторы
RemoteExecutionControl
public RemoteExecutionControl(LoaderDelegate loaderDelegate)
Создает экземпляр, делегируя операции загрузчика указанному делегату.
- Параметры:
-
loaderDelegate- делегат для обработки загрузки классов
RemoteExecutionControl
public RemoteExecutionControl()
Создать экземпляр, используя стандартную загрузку классов.
Методы
main
public static void main(String[] args)
throws Exception
Запустить агент, подключившись к JShell-ядру через сокет, указанный в аргументе командной строки.
- Параметры:
-
args- стандартные аргументы командной строки, ожидается, что номер сокета — единственный аргумент - Исключения:
-
Exception- любое непредвиденное исключение
redefine
public void redefine(ExecutionControl.ClassBytecodes[] cbcs)
throws ExecutionControl.ClassInstallException,
ExecutionControl.NotImplementedException,
ExecutionControl.EngineTerminationException
Переопределение обработки на удалённом конце сводится только к регистрации переопределённых классов.
- Указано в:
-
redefineв интерфейсеExecutionControl - Параметры:
-
cbcs- имя класса и байткоды для переопределения - Исключения:
-
ExecutionControl.ClassInstallException- исключение, произошедшее при переопределении классов, некоторые или все не были переопределены -
ExecutionControl.NotImplementedException- если не реализовано -
ExecutionControl.EngineTerminationException- движок выполнения завершён
© 1993, 2020, 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/11/docs/api/jdk.jshell/jdk/jshell/execution/RemoteExecutionControl.html