Я работаю над планировщиками в реактивных потоках и использую Flux и Scheduler в этом потоке, используя метод publishOn следующим образом:
System.out.println("*********Calling Concurrency************");
List<Integer> elements = new ArrayList<>();
Flux.range(1, 1000)
.log()
.map(i -> i * 2)
.publishOn(Schedulers.parallel())
//.subscribeOn(Schedulers.parallel())
.subscribe(elements::add);
System.out.println("-------------------------------------");
для которых я получил следующие информационные журналы:
*********Calling Concurrency************
[info] | onSubscribe([Synchronous Fuseable] FluxRange.RangeSubscription)
[info] | request(256)
[info] | onNext(1)
[info] | onNext(2)
[info] | onNext(3)
[info] | onNext(4)
[info] | onNext(5)
[info] | onNext(6)
[info] | onNext(7)
[info] | onNext(8)
[info] | onNext(9)
.....
.....
[info] | onNext(444)
[info] | onNext(445)
[info] | onNext(446)
[info] | onNext(447)
[info] | onNext(448)
-------------------------------------
[info] | request(192)
.....
.....
[info] | onNext(999)
[info] | onNext(1000)
[info] | onComplete()
[info] | request(192)
и нет информации о выполнении и обработке потока. Кроме того, иногда запрашиваются 192 элемента, а иногда - 256 элементов.
Вот зависимость, которую я использую:
<dependency>
<groupId>com.googlecode.slf4j-maven-plugin-log</groupId>
<artifactId>slf4j-maven-plugin-log</artifactId>
<version>1.0.0</version>
</dependency>
Как я могу получить информацию журнала о выполнении текущего / параллельного потока? Пожалуйста, предложите.