模块  jdk.jshell
软件包  jdk.jshell.execution

Class Util


  • public class Utilextends Object
    用于设置ExecutionControl实现的其他实用程序方法。 特别是远程执行的实现。
    从以下版本开始:
    9
    • 方法详细信息

      • 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.outSystem.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事件流VMDeathEventVMDisconnectEvent 如果遇到,请调用unbiddenExitHandler
        参数
        vm - 要检查的虚拟机
        unbiddenExitHandler - 处理程序,它将接受退出信息