VES Heartbeat and Software Management Feature
[oam/tr069-adapter.git] / ves-agent / src / main / java / org / commscope / tr069adapter / vesagent / async / AsyncThreadPoolConfig.java
diff --git a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncThreadPoolConfig.java b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncThreadPoolConfig.java
new file mode 100644 (file)
index 0000000..b968608
--- /dev/null
@@ -0,0 +1,36 @@
+package org.commscope.tr069adapter.vesagent.async;\r
+\r
+import java.util.concurrent.Executor;\r
+\r
+import org.springframework.context.annotation.Configuration;\r
+import org.springframework.scheduling.annotation.AsyncConfigurer;\r
+import org.springframework.scheduling.annotation.EnableAsync;\r
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;\r
+\r
+/**\r
+ * \r
+ * @version 1.0\r
+ * @since June 12, 2020\r
+ * @author Prashant Kumar\r
+ */\r
+\r
+@Configuration\r
+@EnableAsync\r
+public class AsyncThreadPoolConfig implements AsyncConfigurer {\r
+\r
+  @Override\r
+  public Executor getAsyncExecutor() {\r
+    ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();\r
+    executor.setCorePoolSize(7);\r
+    executor.setMaxPoolSize(25);\r
+    executor.setQueueCapacity(11);\r
+    executor.setThreadNamePrefix("MyExecutor-");\r
+    executor.initialize();\r
+    return executor;\r
+  }\r
+\r
+  // @Override\r
+  // public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {\r
+  // return new MyAsyncUncaughtExceptionHandler();\r
+  // }\r
+}\r