058e7459ec0593b023ec4502568095a2901b554c
[oam/tr069-adapter.git] / ves-agent / src / main / java / org / commscope / tr069adapter / vesagent / async / AsyncThreadPoolConfig.java
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : tr-069-adapter
4  * =================================================================================================
5  * Copyright (C) 2020 CommScope Inc Intellectual Property.
6  * =================================================================================================
7  * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
8  * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
9  * may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14  * either express or implied. See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ===============LICENSE_END=======================================================================
17  */
18
19 package org.commscope.tr069adapter.vesagent.async;\r
20 \r
21 import java.util.concurrent.Executor;\r
22 \r
23 import org.springframework.context.annotation.Configuration;\r
24 import org.springframework.scheduling.annotation.AsyncConfigurer;\r
25 import org.springframework.scheduling.annotation.EnableAsync;\r
26 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;\r
27 \r
28 /**\r
29  * \r
30  * @version 1.0\r
31  * @since June 12, 2020\r
32  * @author Prashant Kumar\r
33  */\r
34 \r
35 @Configuration\r
36 @EnableAsync\r
37 public class AsyncThreadPoolConfig implements AsyncConfigurer {\r
38 \r
39   @Override\r
40   public Executor getAsyncExecutor() {\r
41     ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();\r
42     executor.setCorePoolSize(7);\r
43     executor.setMaxPoolSize(25);\r
44     executor.setQueueCapacity(11);\r
45     executor.setThreadNamePrefix("MyExecutor-");\r
46     executor.initialize();\r
47     return executor;\r
48   }\r
49 \r
50   // @Override\r
51   // public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {\r
52   // return new MyAsyncUncaughtExceptionHandler();\r
53   // }\r
54 }\r