Package jdk.jshell.spi
Defines the Service Provider Interface for pluggable JShell execution engines. The JShell core tracks and compiles Snippets then sends them (represented in a wrapper class) to the execution engine for loading, and in the case of executable Snippets, execution. The JShell implementation includes a default execution engine (currently a remote process which is JDI controlled). By implementing the ExecutionControl
interface and its generating class, an implementation of the ExecutionControlProvider
interface, and installing it with JShell.Builder.executionEngine(String)
other execution engines can be used. Where the passed String is an ExecutionControl
spec.
The ExecutionControl
spec is the ExecutionControlProvider
name optionally followed by a parameter specification. The syntax of the spec is:
spec := name : params | name name := identifier params := param , params | param | param := identifier ( value )Where 'name' is the
ExecutionControlProvider
name. Where 'param' is a Map key from ExecutionControlProvider.defaultParameters()
and the parenthesized value; See, for example, JdiExecutionControlProvider
. Where 'identifier' is a sequence of Java identifier part characters from the Basic Multilingual Plane. For example:
- local
- jdi:hostname(localhost)
- failover:1(jdi),2(jdi:launch(true),timeout(3000)),3(local)
- Since:
- 9
- See Also:
for execution implementation support
Interface | Description |
---|---|
ExecutionControl | This interface specifies the functionality that must provided to implement a pluggable JShell execution engine. |
ExecutionControlProvider | The provider used by JShell to generate the execution engine needed to evaluate Snippets. |
ExecutionEnv | Functionality made available to a pluggable JShell execution engine. |
Class | Description |
---|---|
ExecutionControl.ClassBytecodes | Bundles class name with class bytecodes. |
Exception | Description |
---|---|
ExecutionControl.ClassInstallException | A class install (load or redefine) encountered a problem. |
ExecutionControl.EngineTerminationException | Unbidden execution engine termination has occurred. |
ExecutionControl.ExecutionControlException | The abstract base of all |
ExecutionControl.InternalException | An internal problem has occurred. |
ExecutionControl.NotImplementedException | The command is not implemented. |
ExecutionControl.ResolutionException | An exception indicating that a |
ExecutionControl.RunException | The abstract base of of exceptions specific to running user code. |
ExecutionControl.StoppedException | An exception indicating that an |
ExecutionControl.UserException | A 'normal' user exception occurred. |
SPIResolutionException | The construction and throw of this exception is embedded in code generated by the JShell core implementation in such a way that, upon executing a |
© 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/spi/package-summary.html