Async thread pool change for VES heartbeat 89/4489/1
authorcschowdam <chandrasekhar.chowdam@commscope.com>
Fri, 31 Jul 2020 11:47:19 +0000 (11:47 +0000)
committercschowdam <chandrasekhar.chowdam@commscope.com>
Fri, 31 Jul 2020 11:47:27 +0000 (11:47 +0000)
Add the async thread pool fir ves heartbeat messages

Issue-Id: OAM-137
Change-Id: I279abecae089d7c603e5e6415fc542503fb067c5
Signed-off-by: cschowdam <chandrasekhar.chowdam@commscope.com>
ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncRequestHandler.java
ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncThreadPoolConfig.java
ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/mapper/MapperRequestSender.java

index 06ba127..aeb8c03 100644 (file)
@@ -121,7 +121,7 @@ public class AsyncRequestHandler {
     return timeOut;\r
   }\r
 \r
-  @Async\r
+  @Async("threadPoolTaskExecutor1")\r
   public void initiateDeviceReachabilityCheck(DeviceDataEntity deviceDataEntity) {
     deviceDataEntity.setStartEpochMicrosec(VesAgentUtils.getStartEpochTime()*1000);\r
     DeviceDetails deviceDetails = new DeviceDetails();\r
index 058e745..bb87a7c 100644 (file)
  * ===============LICENSE_END=======================================================================
  */
 
-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
+package org.commscope.tr069adapter.vesagent.async;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+@Configuration
+@EnableAsync
+public class AsyncThreadPoolConfig {
+
+  @Bean(name = "threadPoolTaskExecutor1")
+  public Executor threadPoolTaskExecutor() {
+    return Executors.newFixedThreadPool(50);
+  }
+
+  @Bean(name = "threadPoolTaskExecutor2")
+  public Executor threadPoolTaskExecutor2() {
+    return Executors.newFixedThreadPool(50);
+  }
+}
index 8cebd1d..37d8729 100644 (file)
@@ -49,7 +49,7 @@ public class MapperRequestSender {
   // DeviceRPCResponse.class);\r
   // }\r
 \r
-  @Async\r
+  @Async("threadPoolTaskExecutor2")\r
   public Future<DeviceRPCResponse> sendRequest(DeviceRPCRequest deviceRPCRequest) {\r
     LOG.info("Sending device connectivity request to ACS for device {}",\r
         deviceRPCRequest.getDeviceDetails().getDeviceId());\r