クラスRemoteExecutionControl
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
-
ネストされたクラスのサマリー
インタフェースで宣言されたネストされたクラス/インタフェース ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException修飾子と型インタフェース説明static final classクラス名とクラス・バイト・コードをバンドルします。static classクラス・インストール(ロードまたは再定義)で問題が発生しました。static class禁止されていない実行エンジンの終了が発生しました。static classすべてのExecutionControl例外の抽象ベース。static class内部問題が発生しました。static classコマンドは実装されていません。static class未解決の参照を含むDeclarationSnippetが検出されたことを示す例外。static class実行中のユーザー・コードに固有の例外の抽象ベース。static classstatic class「通常の」ユーザー例外が発生しました。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明デフォルトのクラス・ロードを使用してインスタンスを作成します。RemoteExecutionControl(LoaderDelegate loaderDelegate) インスタンスを作成し、指定した委任にローダー操作を委任します。 -
メソッドのサマリー
修飾子と型メソッド説明protected voidユーザー・コードにエントリをマークします。static voidエージェントを起動し、コマンドライン引数で指定されたソケットを介してJShellコアに接続します。voidリモート・エンドでの処理の再定義は、再定義されたクラスの登録のみです変数の値を返します。クラスで宣言されたメソッド DirectExecutionControl
addToClasspath, classesRedefined, clientCodeLeave, close, extensionCommand, findClass, invoke, invoke, load, stop, throwConvertedInvocationException, throwConvertedOtherException, valueString修飾子と型メソッド説明voidaddToClasspath(String cp) 実行クラス・パスにパスを追加します。protected voidクラスが再定義されたことを通知します。protected voidユーザー・コードからの出発をマークします。voidclose()この実行エンジンを停止します。extensionCommand(String command, Object arg) 非標準コマンド(新しいバージョンの標準コマンド)を実行します。protected Class<?> 指定されたバイナリ名を持つクラスを検索します。protected String指定された"doit-method"(パラメータのない静的メソッド)を呼び出します。指定されたラッパー・クラスのメソッドをコールして、実行可能スニペットを起動します。voidload(ExecutionControl.ClassBytecodes[] cbcs) 新しいクラスをロードしようとします。voidstop()実行中の呼出しを中断します。protected Stringユーザー・コードの受信例外をExecutionControl.ExecutionControlExceptionのサブタイプのインスタンスに変換し、変換された例外をスローします。protected Stringエージェント・コード内の受信例外をExecutionControl.ExecutionControlExceptionのサブタイプのインスタンスに変換し、変換された例外をスローします。protected static StringvalueString(Object value) Objectの値をExecutionControl.invoke(String, String)またはExecutionControl.varValue(String, String)からStringに変換します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
RemoteExecutionControl
public RemoteExecutionControl(LoaderDelegate loaderDelegate) インスタンスを作成し、指定した委任にローダー操作を委任します。- パラメータ:
loaderDelegate- デリゲートがロード・クラスを処理
-
RemoteExecutionControl
public RemoteExecutionControl()デフォルトのクラス・ロードを使用してインスタンスを作成します。
-
-
メソッドの詳細
-
main
-
redefine
public void redefine(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.NotImplementedException, ExecutionControl.EngineTerminationException リモート・エンドでの処理の再定義は、再定義されたクラスの登録のみです- 定義:
- インタフェース
ExecutionControl内のredefine - パラメータ:
cbcs- 再定義するクラス名とバイトコード- スロー:
ExecutionControl.ClassInstallException- クラスの再定義中に例外が発生しました。一部またはすべてが再定義されませんでしたExecutionControl.NotImplementedException- 実装されていない場合ExecutionControl.EngineTerminationException- 実行エンジンが終了しました
-
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
-