From: cschowdam Date: Fri, 31 Jul 2020 11:47:19 +0000 (+0000) Subject: Async thread pool change for VES heartbeat X-Git-Tag: 2.2.0~9 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=oam%2Ftr069-adapter.git;a=commitdiff_plain;h=917e6436721c3cf0075ab1abacb5f7bc0e4732a9 Async thread pool change for VES heartbeat Add the async thread pool fir ves heartbeat messages Issue-Id: OAM-137 Change-Id: I279abecae089d7c603e5e6415fc542503fb067c5 Signed-off-by: cschowdam --- diff --git a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncRequestHandler.java b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncRequestHandler.java index 06ba127..aeb8c03 100644 --- a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncRequestHandler.java +++ b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/async/AsyncRequestHandler.java @@ -121,7 +121,7 @@ public class AsyncRequestHandler { return timeOut; } - @Async + @Async("threadPoolTaskExecutor1") public void initiateDeviceReachabilityCheck(DeviceDataEntity deviceDataEntity) { deviceDataEntity.setStartEpochMicrosec(VesAgentUtils.getStartEpochTime()*1000); DeviceDetails deviceDetails = new DeviceDetails(); 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 index 058e745..bb87a7c 100644 --- 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 @@ -16,39 +16,25 @@ * ===============LICENSE_END======================================================================= */ -package org.commscope.tr069adapter.vesagent.async; - -import java.util.concurrent.Executor; - -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.AsyncConfigurer; -import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -/** - * - * @version 1.0 - * @since June 12, 2020 - * @author Prashant Kumar - */ - -@Configuration -@EnableAsync -public class AsyncThreadPoolConfig implements AsyncConfigurer { - - @Override - public Executor getAsyncExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(7); - executor.setMaxPoolSize(25); - executor.setQueueCapacity(11); - executor.setThreadNamePrefix("MyExecutor-"); - executor.initialize(); - return executor; - } - - // @Override - // public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { - // return new MyAsyncUncaughtExceptionHandler(); - // } -} +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); + } +} diff --git a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/mapper/MapperRequestSender.java b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/mapper/MapperRequestSender.java index 8cebd1d..37d8729 100644 --- a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/mapper/MapperRequestSender.java +++ b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/mapper/MapperRequestSender.java @@ -49,7 +49,7 @@ public class MapperRequestSender { // DeviceRPCResponse.class); // } - @Async + @Async("threadPoolTaskExecutor2") public Future sendRequest(DeviceRPCRequest deviceRPCRequest) { LOG.info("Sending device connectivity request to ACS for device {}", deviceRPCRequest.getDeviceDetails().getDeviceId());