- 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
-
-
ネストされたクラスのサマリー
-
インタフェース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()デフォルトのクラス・ロードを使用してインスタンスを作成します。RemoteExecutionControl(LoaderDelegate loaderDelegate)指定された委任にローダー操作を委任して、インスタンスを作成します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 static voidmain(String[] args)コマンドライン引数で指定されたソケットを介して、JShellコアに接続してエージェントを起動します。voidredefine(ExecutionControl.ClassBytecodes[] cbcs)リモート・エンドでの処理の再定義は、再定義されたクラスを登録することのみです-
クラスjdk.jshell.executionで宣言されたメソッド。DirectExecutionControl
classesRedefined, clientCodeEnter, clientCodeLeave, findClass, invoke, stop, throwConvertedInvocationException, throwConvertedOtherException, valueString
-
クラスjava.langで宣言されたメソッド。オブジェクト
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
インタフェースjdk.jshell.spiで宣言されたメソッド。ExecutionControl
addToClasspath, close, extensionCommand, invoke, load, stop, varValue
-
-
-
-
コンストラクタの詳細
-
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
リモート・エンドでの処理の再定義は、再定義されたクラスを登録することのみです- 定義:
- インタフェース
ExecutionControlのredefine - パラメータ:
cbcs- 再定義するクラス名およびバイトコード- 例外:
ExecutionControl.ClassInstallException- クラスを再定義中に例外が発生しました。一部またはすべてが再定義されませんでしたExecutionControl.NotImplementedException- 実装されていない場合ExecutionControl.EngineTerminationException- 実行エンジンが終了しました
-
-