Spec-Zone.ru › OpenJDK 25

Класс 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

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе 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)
Создаёт экземпляр, делегируя операции загрузчика указанному делегату.

Краткое описание методов

Модификатор и тип Метод Описание
protected void clientCodeEnter()
Отмечает вход в пользовательский код.
static void main(String[] args)
Запускает агент, подключаясь к ядру JShell через сокет, указанный в аргументе командной строки.
void redefine(ExecutionControl.ClassBytecodes[] cbcs)
При переопределении классов на удалённой стороне выполняется только регистрация переопределённых классов
void stop()
Прерывает выполняющийся вызов.
String varValue(String className, String varName)
Возвращает значение переменной.

Методы, объявленные в классе DirectExecutionControl

addToClasspath, classesRedefined, clientCodeLeave, close, extensionCommand, findClass, invoke, invoke, load, stop, throwConvertedInvocationException, throwConvertedOtherException, valueString

Методы, объявленные в классе Object

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

Методы, объявленные в интерфейсе ExecutionControl

addToClasspath, close, extensionCommand, invoke, load

Подробное описание конструкторов

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 — механизм выполнения завершил работу

stop

public void stop() throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из класса: DirectExecutionControl
Прерывает выполняющийся вызов.

Не поддерживается.

Определено в:
stop в интерфейсе ExecutionControl
Переопределяет:
stop в классе DirectExecutionControl
Исключения:
ExecutionControl.EngineTerminationException — механизм выполнения завершил работу
ExecutionControl.InternalException — возникла внутренняя проблема

varValue

public String varValue(String className, String varName) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из интерфейса: ExecutionControl
Возвращает значение переменной.
Определено в:
varValue в интерфейсе ExecutionControl
Переопределяет:
varValue в классе DirectExecutionControl
Параметры:
className — имя класса-обёртки переменной
varName — имя переменной
Возвращает:
значение переменной
Исключения:
ExecutionControl.UserException — при форматировании значения возникло пользовательское исключение
ExecutionControl.ResolutionException — при форматировании значения была предпринята прямая или косвенная попытка вызвать неразрешённый фрагмент кода
ExecutionControl.StoppedException — если форматирование значения было отменено вызовом ExecutionControl.stop()
ExecutionControl.EngineTerminationException — механизм выполнения завершил работу
ExecutionControl.InternalException — возникла внутренняя проблема
ExecutionControl.RunException

clientCodeEnter

protected void clientCodeEnter()
Описание скопировано из класса: DirectExecutionControl
Отмечает вход в пользовательский код.
Переопределяет:
clientCodeEnter в классе DirectExecutionControl

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/RemoteExecutionControl.html

Spec-Zone.ru

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