- java.lang.Object
-
- jdk.jshell.execution.Util
-
public class Util extends Object
用于设置实现的其他实用方法ExecutionControl
。 特别是远程执行的实现。- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static 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。
-
-
-
方法详细信息
-
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
- 将接受退出信息的处理程序
-
-