- java.lang.Object
-
- jdk.jshell.execution.Util
-
public class Util extends Object
用于设置实现的其他实用方法ExecutionControl。 特别是远程执行的实现。- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static 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。
-
-
-
方法详细信息
-
forwardExecutionControl
public static void forwardExecutionControl(ExecutionControl ec, ObjectInput in, ObjectOutput out)
将命令从输入转发到指定的ExecutionControl实例,然后响应回输出。- 参数
-
ec- 用于处理命令的ExecutionControl的直接实例 -
in- 命令输入 -
out- 命令响应输出
-
forwardExecutionControlAndIO
public static void forwardExecutionControlAndIO(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String,Consumer<OutputStream>> outputStreamMap, Map<String,Consumer<InputStream>> inputStreamMap) throws IOException
将命令从输入转发到指定的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,InputStream> inputStreamMap, BiFunction<ObjectInput,ObjectOutput,ExecutionControl> factory) throws IOException
为给定的分组化输入和输出创建一个ExecutionControl。 给定的InputStream进行解包,内容转发到ObjectInput并给出OutputStreams。 从给定的InputStream读取的ObjectOutput和值被打包并发送到给定的OutputStream。- 参数
-
input- 分组化的输入流 -
output- 打包的输出流 -
outputStreamMap- 流名称和要转发的输出流之间的映射。 以'$'开头的名称保留供内部使用。 -
inputStreamMap- 流名称和要转发的输入流之间的映射。 以'$'开头的名称保留供内部使用。 -
factory- 从ObjectInput和ObjectOutput创建ExecutionControl。 - 结果
- 创建的ExecutionControl
- 异常
-
IOException- 如果设置流引发异常
-
detectJdiExitEvent
public static void detectJdiExitEvent(VirtualMachine vm, Consumer<String> unbiddenExitHandler)
监视JDI事件流VMDeathEvent和VMDisconnectEvent。 如果遇到,请调用unbiddenExitHandler。- 参数
-
vm- 要检查的虚拟机 -
unbiddenExitHandler- 将接受退出信息的处理程序
-
-