W3cubDocs

/OpenJDK 21

Package jdk.jshell.spi

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:
Class Description
ExecutionControl
This interface specifies the functionality that must provided to implement a pluggable JShell execution engine.
ExecutionControl.ClassBytecodes
Bundles class name with class bytecodes.
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 exceptions.
ExecutionControl.InternalException
An internal problem has occurred.
ExecutionControl.NotImplementedException
The command is not implemented.
ExecutionControl.ResolutionException
An exception indicating that a DeclarationSnippet with unresolved references has been encountered.
ExecutionControl.RunException
The abstract base of of exceptions specific to running user code.
ExecutionControl.StoppedException
ExecutionControl.UserException
A 'normal' user exception occurred.
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.
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 RECOVERABLE_DEFINED user method, this exception is thrown.

© 1993, 2023, 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/21/docs/api/jdk.jshell/jdk/jshell/spi/package-summary.html