From 0374aad7a749764d04ee19570aec9f8e5ca3edc4 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Fri, 13 Dec 2019 13:46:20 +0100 Subject: [PATCH] DefaultSyncAsyncExecutorProvider should be a Singleton --- .../scm/repository/DefaultSyncAsyncExecutorProvider.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scm-webapp/src/main/java/sonia/scm/repository/DefaultSyncAsyncExecutorProvider.java b/scm-webapp/src/main/java/sonia/scm/repository/DefaultSyncAsyncExecutorProvider.java index 4c1f0429da..1727fff970 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/DefaultSyncAsyncExecutorProvider.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/DefaultSyncAsyncExecutorProvider.java @@ -3,12 +3,15 @@ package sonia.scm.repository; import sonia.scm.repository.spi.SyncAsyncExecutor; import sonia.scm.repository.spi.SyncAsyncExecutorProvider; +import javax.inject.Inject; +import javax.inject.Singleton; import java.io.Closeable; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +@Singleton public class DefaultSyncAsyncExecutorProvider implements SyncAsyncExecutorProvider, Closeable { public static final int DEFAULT_MAX_ASYNC_ABORT_SECONDS = 60; @@ -20,6 +23,7 @@ public class DefaultSyncAsyncExecutorProvider implements SyncAsyncExecutorProvid private final ExecutorService executor; private final int defaultMaxAsyncAbortSeconds; + @Inject public DefaultSyncAsyncExecutorProvider() { this(Executors.newFixedThreadPool(getProperty(NUMBER_OF_THREADS_PROPERTY, DEFAULT_NUMBER_OF_THREADS))); } @@ -30,7 +34,7 @@ public class DefaultSyncAsyncExecutorProvider implements SyncAsyncExecutorProvid } public SyncAsyncExecutor createExecutorWithSecondsToTimeout(int switchToAsyncInSeconds) { - return createExecutorWithSecondsToTimeout(switchToAsyncInSeconds, DEFAULT_MAX_ASYNC_ABORT_SECONDS); + return createExecutorWithSecondsToTimeout(switchToAsyncInSeconds, defaultMaxAsyncAbortSeconds); } public SyncAsyncExecutor createExecutorWithSecondsToTimeout(int switchToAsyncInSeconds, int maxAsyncAbortSeconds) {