This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
The following commit(s) were added to refs/heads/master by this push:
new 56e8e1e59b JAMES-3784 EmptyErrorMailRepositoryHealthCheck: Wrap
blocking calls (#1122)
56e8e1e59b is described below
commit 56e8e1e59b6a81df635b988b19b22cb27d0e3e08
Author: Benoit TELLIER <[email protected]>
AuthorDate: Fri Aug 12 16:03:46 2022 +0700
JAMES-3784 EmptyErrorMailRepositoryHealthCheck: Wrap blocking calls (#1122)
---
.../mailrepository/api/EmptyErrorMailRepositoryHealthCheck.java | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
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 f699a25bbf..235fa3e116 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.ComponentName;
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 @@ public class EmptyErrorMailRepositoryHealthCheck implements
HealthCheck {
@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);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]