Use Runnable instead of Callable in MailReceiver

Callable fails with this exception:
java.lang.UnsupportedOperationException: Callable not implemented

Other parts in Gerrit use Runnable. Using Runnable here as well fixed
the issue.

Change-Id: I36c96c8408a7295b06217f2d6df18e8253b0e1c8
This commit is contained in:
Patrick Hiesel
2017-04-04 10:49:16 +02:00
parent 98b600369c
commit 24e5bcae14

View File

@@ -27,8 +27,6 @@ import java.util.List;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -124,7 +122,9 @@ public abstract class MailReceiver implements LifecycleListener {
protected void dispatchMailProcessor(List<MailMessage> messages, boolean async) {
for (MailMessage m : messages) {
if (async) {
Callable<?> task =
workQueue
.getDefaultQueue()
.submit(
() -> {
try {
mailProcessor.process(m);
@@ -132,10 +132,7 @@ public abstract class MailReceiver implements LifecycleListener {
} catch (OrmException e) {
log.error("Mail: Can't process message " + m.id() + " . Won't delete.", e);
}
return null;
};
@SuppressWarnings("unused")
Future<?> possiblyIgnoredError = workQueue.getDefaultQueue().submit(task);
});
} else {
// Synchronous processing is used only in tests.
try {