Package jdk.jshell.spi
package jdk.jshell.spi
Определяет интерфейс поставщика служб для подключаемых движков выполнения JShell. Ядро JShell отслеживает и компилирует фрагменты, а затем отправляет их (представленные классом-обёрткой) движку выполнения для загрузки и, в случае исполняемых фрагментов, для выполнения. Реализация JShell включает движок выполнения по умолчанию (в настоящее время это удалённый процесс, управляемый с помощью JDI). Реализовав интерфейс
ExecutionControl и его генерирующий класс, реализацию интерфейса ExecutionControlProvider и установив её с помощью JShell.Builder.executionEngine(String), можно использовать другие движки выполнения. Передаваемая строка задаёт спецификацию ExecutionControl. Спецификация ExecutionControl — это имя ExecutionControlProvider, за которым может следовать спецификация параметров. Синтаксис спецификации:
spec := name : params
| name
name := identifier
params := param , params
| param
|
param := identifier ( value )
Где 'name' — это имя ExecutionControlProvider name. Где 'param' — ключ Map из ExecutionControlProvider.defaultParameters() и значение в скобках; см., например, JdiExecutionControlProvider. Где 'identifier' — это последовательность символов — частей идентификатора Java из базовой многоязычной плоскости. Например:
- local
- jdi:hostname(localhost)
- failover:1(jdi),2(jdi:launch(true),timeout(3000)),3(local)
- Начиная с:
- 9
- См. также:
| Класс | Описание |
|---|---|
| ExecutionControl | Этот интерфейс задаёт функциональность, которую необходимо предоставить для реализации подключаемого движка выполнения JShell. |
| ExecutionControl.ClassBytecodes | Объединяет имя класса с байт-кодом класса. |
| ExecutionControl.ClassInstallException | При установке класса (загрузке или переопределении) возникла проблема. |
| ExecutionControl.EngineTerminationException | Произошло неожиданное завершение работы движка выполнения. |
| ExecutionControl.ExecutionControlException | Абстрактный базовый класс всех исключений ExecutionControl. |
| ExecutionControl.InternalException | Произошла внутренняя проблема. |
| ExecutionControl.NotImplementedException | Команда не реализована. |
| ExecutionControl.ResolutionException | Исключение, указывающее на то, что обнаружен DeclarationSnippet с неразрешёнными ссылками. |
| ExecutionControl.RunException | Абстрактный базовый класс исключений, относящихся к выполнению пользовательского кода. |
| ExecutionControl.StoppedException | Исключение, указывающее на то, что ExecutionControl.invoke(java.lang.String, java.lang.String) (или, теоретически, ExecutionControl.varValue(java.lang.String, java.lang.String)) было прервано вызовом ExecutionControl.stop(). |
| ExecutionControl.UserException | Произошло обычное пользовательское исключение. |
| ExecutionControlProvider | Поставщик, используемый JShell для создания движка выполнения, необходимого для вычисления фрагментов. |
| ExecutionEnv | Функциональность, предоставляемая подключаемому движку выполнения JShell. |
| SPIResolutionException | Создание и выброс этого исключения встроены в код, генерируемый реализацией ядра JShell, таким образом, что при выполнении пользовательского метода RECOVERABLE_DEFINED выбрасывается это исключение. |
© 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/spi/package-summary.html