java.lang.Object
jdk.jshell.execution.Util
用于设置实现
ExecutionControl
的杂项实用方法。特别是具有远程执行的实现。
- 自 JDK 版本:
- 9
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
detectJdiExitEvent
(VirtualMachine vm, Consumer<String> unbiddenExitHandler) 监视 JDI 事件流以获取VMDeathEvent
和VMDisconnectEvent
。static void
forwardExecutionControl
(ExecutionControl ec, ObjectInput in, ObjectOutput out) 将输入的命令转发到指定的ExecutionControl
实例,然后将响应返回到输出。static void
forwardExecutionControlAndIO
(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String, Consumer<OutputStream>> outputStreamMap, Map<String, Consumer<InputStream>> inputStreamMap) 将输入的命令转发到指定的ExecutionControl
实例,然后将响应返回到输出。static ExecutionControl
remoteInputOutput
(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
- 将接受退出信息的处理程序
-