powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring WebFlux - читать логи из запущенного процесса?
1 сообщений из 1, страница 1 из 1
Spring WebFlux - читать логи из запущенного процесса?
    #39807018
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Примеров в инете к сожалению не так много.
Простые вещи попробовал, работают.

Но видать, что-то я не очень вкуриваю..

Кто-то уже игрался, работает с WebFlux? Может подсказать?

Идея. Запустить процесс и построчно передавать логи в браузер. Хочу это сделать именно с WebFlux.
Но что-то не очень пляшет..

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    @RequestMapping("/cmd")
    public Flux<String> cmd() throws IOException, InterruptedException {
        return Flux.fromStream(cmdTest()).delayElements(Duration.ofMillis(100));
    }

    public Stream<String>  cmdTest() throws IOException {

        ProcessBuilder builder = new ProcessBuilder();
        builder.command("java", "-jar", "E:\\ca-runner.jar");
        Process process = builder.start();
//        Mono.fromCallable(() -> new BufferedReader(new InputStreamReader(process.getInputStream())).lines()).flatMapMany(Flux::fromIterable);
        return new BufferedReader(new InputStreamReader(process.getInputStream())).lines();
    }



Получаю

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Fri Apr 26 20:22:28 CEST 2019
There was an unexpected error (type=Internal Server Error, status=500).
Multi-value reactive types not supported in view resolution: reactor.core.publisher.Flux<java.lang.String>
java.lang.IllegalArgumentException: Multi-value reactive types not supported in view resolution: reactor.core.publisher.Flux<java.lang.String>
	at org.springframework.web.reactive.result.view.ViewResolutionResultHandler.handleResult(ViewResolutionResultHandler.java:183)
	at org.springframework.web.reactive.DispatcherHandler.handleResult(DispatcherHandler.java:174)
	at org.springframework.web.reactive.DispatcherHandler.lambda$handle$2(DispatcherHandler.java:152)
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:118)
	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:353)
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1505)
	at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:241)
	at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:353)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73)

.....

	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Assembly trace from producer [reactor.core.publisher.MonoFlatMap] :
	reactor.core.publisher.Mono.flatMap(Mono.java:2491)
	org.springframework.web.reactive.DispatcherHandler.handle(DispatcherHandler.java:152)
Error has been observed by the following operator(s):
	|_	Mono.flatMap &#226;‡&#162; org.springframework.web.reactive.DispatcherHandler.handle(DispatcherHandler.java:152)
	|_	Mono.defer &#226;‡&#162; org.springframework.web.server.handler.DefaultWebFilterChain.filter(DefaultWebFilterChain.java:119)
	|_	Mono.defer &#226;‡&#162; org.springframework.web.server.handler.DefaultWebFilterChain.filter(DefaultWebFilterChain.java:119)



Спасибо!
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring WebFlux - читать логи из запущенного процесса?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]