nurkiewicz / nurkiewicz.com

https://nurkiewicz.com
10 stars 6 forks source link

Mono.zip and subscribeOn #16

Open nurkiewicz opened 2 years ago

nurkiewicz commented 2 years ago
    private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

    public static void main(String[] args) {
        Mono
                .zip(
                        Mono.fromCallable(() -> slow("One"))
                                .subscribeOn(Schedulers.boundedElastic()),
                        Mono.fromCallable(() -> slow("Two"))
                                .subscribeOn(Schedulers.boundedElastic())
                )
                .block();
        log.info("Done");
    }

    public static void main2(String[] args) {
        Mono
                .zip(
                        Mono.fromCallable(() -> slow("One")),
                        Mono.fromCallable(() -> slow("Two"))
                )
                .subscribeOn(Schedulers.boundedElastic())
                .block();
        log.info("Done");
    }

    static String slow(String tag) throws InterruptedException {
        log.info("Starting {}", tag);
        TimeUnit.SECONDS.sleep(1);
        return tag;
    }
<configuration>

    <root level="ALL">
        <appender class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%-5level | %r | %thread | %logger{36} | %msg%n</pattern>
            </encoder>
        </appender>
    </root>
</configuration>