JAMES-3784 EmptyErrorMailRepositoryHealthCheck: Wrap blocking calls (#1122)

diff --git a/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java b/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java
index f699a25..235fa3e 100644
--- a/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java
+++ b/server/mailrepository/mailrepository-api/src/main/java/org/apache/james/mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java
@@ -23,8 +23,7 @@
 import org.apache.james.core.healthcheck.HealthCheck;
 import org.apache.james.core.healthcheck.Result;
 import org.apache.james.util.FunctionalUtils;
-
-import com.github.fge.lambdas.Throwing;
+import org.apache.james.util.ReactorUtils;
 
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
@@ -46,11 +45,13 @@
 
     @Override
     public Mono<Result> check() {
-        return Flux.fromStream(Throwing.supplier(() -> repositoryStore.getByPath(errorRepositoryPath)))
+        return Mono.fromCallable(() -> repositoryStore.getByPath(errorRepositoryPath))
+            .flatMapMany(Flux::fromStream)
             .flatMap(MailRepository::sizeReactive)
             .any(repositorySize -> repositorySize > 0)
             .filter(FunctionalUtils.identityPredicate())
             .map(hasSize -> Result.degraded(COMPONENT_NAME, "MailRepository is not empty"))
-            .switchIfEmpty(Mono.just(Result.healthy(COMPONENT_NAME)));
+            .switchIfEmpty(Mono.just(Result.healthy(COMPONENT_NAME)))
+            .subscribeOn(ReactorUtils.BLOCKING_CALL_WRAPPER);
     }
 }