Как запустить structuredTaskScope.timeOutexception на Java 25JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как запустить structuredTaskScope.timeOutexception на Java 25

Сообщение Anonymous »

Я пытаюсь использовать structuredTaskScope на Java 25. Однако я не мог запустить structuredTaskScope.timeOutexception. < /p>
Пожалуйста, найдите код здесь и ниже: < /p>
package com.tugalsan.tst.thread;

import java.time.Duration;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.Callable;
import java.util.concurrent.StructuredTaskScope;
import java.util.concurrent.StructuredTaskScope.Joiner;
import java.util.concurrent.StructuredTaskScope.Subtask.State;

public class Main {

public static void main(String... s) {
Callable tenSecsTask = () -> {
Thread.sleep(Duration.ofSeconds(10));
return "a";
};
var allAwait = allAwait("allAwait", Duration.ofSeconds(2), tenSecsTask);
allAwait.resultsSuccessful().forEach(IO::println);
IO.println("main.done..");
}

public static record AllAwait(String name, Duration timeout, List resultsSuccessful, List resultsFailedOrUnavailable, Optional timeoutException) {

}

public static AllAwait allAwait(String name, Duration timeout, Callable... callables) {
try (var scope = StructuredTaskScope.open(Joiner.awaitAll(),
cf -> {
if (name != null) {
cf.withName(name);
}
if (timeout != null) {
cf.withTimeout(timeout);
}
return cf;
}
)) {
var subTasks = Arrays.stream(callables).map(scope::fork).toList();
scope.join();
var resultsSuccessful = subTasks.stream().filter(st -> st.state() == State.SUCCESS).map(StructuredTaskScope.Subtask::get).toList();
var resultsFailedOrUnavailable = subTasks.stream().filter(st -> st.state() == State.FAILED || st.state() == State.UNAVAILABLE).toList();
return new AllAwait(name, timeout, resultsSuccessful, resultsFailedOrUnavailable, Optional.empty());
} catch (InterruptedException | StructuredTaskScope.TimeoutException e) {
throwIfInterruptedException(e);
if (e instanceof StructuredTaskScope.TimeoutException et) {
return new AllAwait(name, timeout, List.of(), List.of(), Optional.of(et));
}
return null;
}
}
....
}

< /code>
Показывает вывод консоли, показан, вызов успешно завершает свою работу, но предполагается, что он должен провалиться.Executing command line: [C:\bin\java\home\bin\java.exe, --enable-preview, --enable-preview, --add-modules, jdk.incubator.vector, -classpath, C:\git\tst\com.tugalsan.tst.thread\target\classes, com.tugalsan.tst.thread.Main]
WARNING: Using incubator modules: jdk.incubator.vector
a
main.done..
< /code>
Я уже пропустил добавление кода обработки прерванной обработки. Пожалуйста, найдите его ниже: < /p>
@SuppressWarnings("unchecked")
private static void _throwAsUncheckedException(Throwable exception) throws T {
throw (T) exception;
}

@Deprecated //only internalUse
private static void throwAsUncheckedException(Throwable exception) {
Main._throwAsUncheckedException(exception);
}

public static R throwIfInterruptedException(Throwable t) {
if (isInterruptedException(t)) {
Thread.currentThread().interrupt();
throwAsUncheckedException(t);
}
return null;
}

public static boolean isInterruptedException(Throwable t) {
if (t instanceof InterruptedException) {
return true;
}
if (t.getCause() != null) {
return isInterruptedException(t.getCause());
}
return false;
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... on-java-25
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Java 21 Создание StructuredTaskScope из ExecutorService
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Журнал регистрации: доступность MDC в вилках, созданных внутри StructuredTaskScope.
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как распространять контекст через StructuredTaskScope с помощью ScopedValue, кстати, как насчет MDC ThreadContextMap в S
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Можно ли отменить раздвоенную подзадачу в StructuredTaskScope?
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Ошибка java.util.concurrent.TimeoutException
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»