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
commit 002c2d989dd3123dc309051185906ed0c9cb3af7 Author: Benoit Tellier <[email protected]> AuthorDate: Mon Dec 2 18:16:04 2019 +0700 JAMES-2991 Preview computation on parallel scheduler --- .../james/jmap/event/ComputeMessageFastViewProjectionListener.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListener.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListener.java index cd8c9e1..9bd0794 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListener.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/ComputeMessageFastViewProjectionListener.java @@ -44,6 +44,7 @@ import com.github.fge.lambdas.Throwing; import com.google.common.annotations.VisibleForTesting; import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; public class ComputeMessageFastViewProjectionListener implements MailboxListener.GroupMailboxListener { @@ -83,8 +84,10 @@ public class ComputeMessageFastViewProjectionListener implements MailboxListener private void handleAddedEvent(Added addedEvent, MailboxSession session) throws MailboxException { Flux.fromIterable(messageIdManager.getMessages(addedEvent.getMessageIds(), FetchGroup.BODY_CONTENT, session)) + .flatMap(Throwing.function(messageResult -> Mono.fromCallable( + () -> Pair.of(messageResult.getMessageId(), computeFastViewPrecomputedProperties(messageResult))) + .subscribeOn(Schedulers.parallel()))) .publishOn(Schedulers.boundedElastic()) - .map(Throwing.function(messageResult -> Pair.of(messageResult.getMessageId(), computeFastViewPrecomputedProperties(messageResult)))) .flatMap(message -> messageFastViewProjection.store(message.getKey(), message.getValue())) .then() .block(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
