Класс Util

public class Util
extends Object

Разнообразные служебные методы для настройки реализаций ExecutionControl. В особенности реализации с удалённым выполнением.

Since:
9

Методы

Модификатор и тип Метод Описание
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 для заданных пакетированных входного и выходного потоков.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы

forwardExecutionControl

public static void forwardExecutionControl(ExecutionControl ec,
                                           ObjectInput in,
                                           ObjectOutput out)

Пересылать команды из входного потока указанному экземпляру ExecutionControl, а затем возвращать ответы по выходному потоку.

Parameters:
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, а затем возвращать ответы по выходному потоку.

Parameters:
ec - прямой экземпляр ExecutionControl для обработки команд
inStream - поток для создания входных команд
outStream - поток, который будет передавать любые дополнительные каналы (например, System.out и System.err), и выходной поток ответа команд.
outputStreamMap - карта соответствий имён дополнительных потоков и установщиков потока. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
inputStreamMap - карта соответствий имён дополнительных потоков и установщиков потока. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
Throws:
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. ObjectOutput и значения, считанные из заданного InputStream, пакетируются и отправляются в заданный OutputStream.

Parameters:
input - пакетированный входной поток
output - пакетированный выходной поток
outputStreamMap - карта соответствий имён потоков и выходных потоков для пересылки. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
inputStreamMap - карта соответствий имён потоков и входных потоков для пересылки. Имена, начинающиеся с '$', зарезервированы для внутреннего использования.
factory - для создания ExecutionControl из ObjectInput и ObjectOutput.
Returns:
созданный ExecutionControl
Throws:
IOException - если при настройке потоков произошла ошибка

detectJdiExitEvent

public static void detectJdiExitEvent(VirtualMachine vm,
                                      Consumer<String> unbiddenExitHandler)

Отслеживать поток событий JDI для VMDeathEvent и VMDisconnectEvent. В случае обнаружения, вызывает unbiddenExitHandler.

Parameters:
vm - виртуальная машина для проверки
unbiddenExitHandler - обработчик, который примет информацию о выходе

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.jshell/jdk/jshell/execution/Util.html

Spec-Zone .ru
спецификации, руководства, описания, API