java.lang.Object
jdk.jshell.execution.Util
用于设置实现
ExecutionControl的杂项实用方法。特别是具有远程执行的实现。
- 自 JDK 版本:
- 9
-
Method Summary
Modifier and TypeMethodDescriptionstatic voiddetectJdiExitEvent(VirtualMachine vm, Consumer<String> unbiddenExitHandler) 监视 JDI 事件流以获取VMDeathEvent和VMDisconnectEvent。static voidforwardExecutionControl(ExecutionControl ec, ObjectInput in, ObjectOutput out) 将输入的命令转发到指定的ExecutionControl实例,然后将响应返回到输出。static voidforwardExecutionControlAndIO(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String, Consumer<OutputStream>> outputStreamMap, Map<String, Consumer<InputStream>> inputStreamMap) 将输入的命令转发到指定的ExecutionControl实例,然后将响应返回到输出。static ExecutionControlremoteInputOutput(InputStream input, OutputStream output, Map<String, OutputStream> outputStreamMap, Map<String, InputStream> inputStreamMap, BiFunction<ObjectInput, ObjectOutput, ExecutionControl> factory) 为给定的分组输入和输出创建一个ExecutionControl。
-
Method Details
-
forwardExecutionControl
将输入的命令转发到指定的ExecutionControl实例,然后将响应返回到输出。- 参数:
-
ec- 处理命令的ExecutionControl直接实例 -
in- 命令输入 -
out- 命令响应输出
-
forwardExecutionControlAndIO
public static void forwardExecutionControlAndIO(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String, Consumer<OutputStream>> outputStreamMap, Map<String, throws IOExceptionConsumer<InputStream>> inputStreamMap) 将输入的命令转发到指定的ExecutionControl实例,然后将响应返回到输出。- 参数:
-
ec- 处理命令的ExecutionControl直接实例 -
inStream- 用于创建命令输入的流 -
outStream- 将携带任何指定的辅助通道(如System.out和System.err)和命令响应输出的流 -
outputStreamMap- 在要携带的附加流名称和流的设置器之间建立映射。以'$'开头的名称保留供内部使用。 -
inputStreamMap- 在要携带的附加流名称和流的设置器之间建立映射。以'$'开头的名称保留供内部使用。 - 抛出:
-
IOException- 如果使用传递的流时出现错误
-
remoteInputOutput
public static ExecutionControl remoteInputOutput(InputStream input, OutputStream output, Map<String, OutputStream> outputStreamMap, Map<String, throws IOExceptionInputStream> inputStreamMap, BiFunction<ObjectInput, ObjectOutput, ExecutionControl> factory) 为给定的分组输入和输出创建一个ExecutionControl。给定的InputStream被解包,并将内容转发到ObjectInput和给定的OutputStreams。ObjectOutput和从给定的InputStream读取的值被打包并发送到给定的OutputStream。- 参数:
-
input- 分组的输入流 -
output- 分组的输出流 -
outputStreamMap- 在流名称和要转发的输出流之间建立映射。以'$'开头的名称保留供内部使用。 -
inputStreamMap- 在流名称和要转发的输入流之间建立映射。以'$'开头的名称保留供内部使用。 -
factory- 从ObjectInput和ObjectOutput创建ExecutionControl的工厂 - 返回:
- 创建的ExecutionControl
- 抛出:
-
IOException- 如果设置流时引发异常
-
detectJdiExitEvent
- 参数:
-
vm- 要检查的虚拟机 -
unbiddenExitHandler- 将接受退出信息的处理程序
-