java.lang.Object
jdk.jshell.execution.DirectExecutionControl
jdk.jshell.execution.RemoteExecutionControl
- すべての実装されたインタフェース:
AutoCloseable
,ExecutionControl
public class RemoteExecutionControl extends DirectExecutionControl implements ExecutionControl
リモート・エージェントは実行プロセス(メインのJShellプロセスとは別に)で実行されます。 このエージェントはメインのJShellプロセスからソケット上にコードをロードし、コードを実行し、その他のmisc、外部プロセスによって制御されるストップ・サポートを追加する
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
(LoaderDelegate loaderDelegate) 指定されたデリゲートにローダー操作を委譲するインスタンスを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明protected void
ユーザー・コードへのエントリをマークします。static void
エージェントを起動し、コマンドライン引数で指定されたソケットを介してJShellコアに接続します。void
リモート・エンドでの処理の再定義は、再定義されたクラスの登録のみですvoid
stop()
実行中の呼び出しを中断します。変数の値を返します。クラス jdk.jshell.execution.DirectExecutionControlで宣言されたメソッド
addToClasspath, classesRedefined, clientCodeLeave, close, extensionCommand, findClass, invoke, invoke, load, 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
-
コンストラクタの詳細
-
RemoteExecutionControl
public RemoteExecutionControl(LoaderDelegate loaderDelegate) 指定されたデリゲートにローダー操作を委譲するインスタンスを作成します。- パラメータ:
loaderDelegate
- デリゲートがロード・クラスを処理
-
RemoteExecutionControl
public RemoteExecutionControl()デフォルトのクラス・ローディングを使用してインスタンスを作成します。
-
-
メソッドの詳細
-
main
エージェントを起動し、コマンドライン引数で指定されたソケットを介してJShellコアに接続します。- パラメータ:
args
- 標準のコマンドライン引数、期待値はソケット番号だけの引数です- 例外:
Exception
- 予想外の例外
-
redefine
public void redefine(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.NotImplementedException, ExecutionControl.EngineTerminationException リモート・エンドでの処理の再定義は、再定義されたクラスの登録のみです- 定義:
- インタフェース
ExecutionControl
内のredefine
- パラメータ:
cbcs
- 再定義するクラス名とバイトコード- 例外:
ExecutionControl.ClassInstallException
- クラスを再定義する際に例外が発生しました。一部またはすべてが再定義されませんでしたExecutionControl.NotImplementedException
- 実装されていない場合ExecutionControl.EngineTerminationException
- 実行エンジンが終了しました
-
stop
public void stop() throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalExceptionクラスからコピーされた説明:DirectExecutionControl
実行中の呼び出しを中断します。サポートされていません。
- 定義:
- インタフェース
ExecutionControl
内のstop
- オーバーライド:
- クラス
DirectExecutionControl
のstop
- 例外:
ExecutionControl.EngineTerminationException
- 実行エンジンが終了しましたExecutionControl.InternalException
- 内部問題が発生しました
-
varValue
public String varValue(String className, String varName) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException インタフェースからコピーされた説明:ExecutionControl
変数の値を返します。- 定義:
- インタフェース
ExecutionControl
内のvarValue
- オーバーライド:
- クラス
DirectExecutionControl
のvarValue
- パラメータ:
className
- 変数のラッパー・クラスの名前varName
- 変数の名前- 戻り値:
- 変数の値
- 例外:
ExecutionControl.UserException
- 値の書式設定によってユーザー例外が発生しましたExecutionControl.ResolutionException
- 値をフォーマットすると、未解決のスニペットを直接的または間接的に呼び出そうとしましたExecutionControl.StoppedException
- 値の書式設定がExecutionControl.stop()
によって取消された場合ExecutionControl.EngineTerminationException
- 実行エンジンが終了しましたExecutionControl.InternalException
- 内部問題が発生しましたExecutionControl.RunException
-
clientCodeEnter
protected void clientCodeEnter()クラスからコピーされた説明:DirectExecutionControl
ユーザー・コードへのエントリをマークします。- オーバーライド:
- クラス
DirectExecutionControl
のclientCodeEnter
-