Variable updated in src and test files
[vfc/nfvo/driver/ems.git] / ems / boco / src / main / java / org / onap / vfc / nfvo / emsdriver / collector / CollectMsgReceiverThread.java
1 /*
2  * Copyright 2017 BOCO Corporation.  CMCC Technologies Co., Ltd
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.vfc.nfvo.emsdriver.collector;
17
18 import org.onap.vfc.nfvo.emsdriver.commons.constant.Constant;
19 import org.onap.vfc.nfvo.emsdriver.commons.model.CollectMsg;
20 import org.onap.vfc.nfvo.emsdriver.commons.utils.DriverThread;
21 import org.onap.vfc.nfvo.emsdriver.messagemgr.MessageChannel;
22 import org.onap.vfc.nfvo.emsdriver.messagemgr.MessageChannelFactory;
23
24 public class CollectMsgReceiverThread extends DriverThread {
25
26     private long timeStamp = System.currentTimeMillis();
27
28     private MessageChannel collectChannel;
29
30     private TaskThreadService taskService;
31
32     private int threadMaxNum = 100;
33
34
35     @Override
36     public void dispose() {
37         collectChannel = MessageChannelFactory.getMessageChannel(Constant.COLLECT_CHANNEL_KEY);
38
39         taskService = TaskThreadService.getInstance(threadMaxNum);
40         taskService.start();
41
42         while (isRun()) {
43
44             try {
45                 if (System.currentTimeMillis() - timeStamp > Constant.ONEMINUTE) {
46                     timeStamp = System.currentTimeMillis();
47
48                     log.debug("COLLECT_CHANNEL Msg size :" + collectChannel.size());
49                 }
50
51                 Object obj = collectChannel.poll();
52                 if (obj == null) {
53                     Thread.sleep(10);
54                     continue;
55                 }
56                 if (obj instanceof CollectMsg) {
57                     CollectMsg collectMsg = (CollectMsg) obj;
58                     taskService.add(collectMsg);
59                     log.debug("receive a CollectMsg id = " + collectMsg.getId());
60                 } else {
61                     log.error("receive Objcet not CollectMsg " + obj);
62                 }
63
64             } catch (Exception e) {
65                 log.error("dispatch alarm exception", e);
66
67             }
68         }
69
70     }
71
72
73     /**
74      * @return the threadMaxNum
75      */
76     public int getThreadMaxNum() {
77         return threadMaxNum;
78     }
79
80
81     /**
82      * @param threadMaxNum the threadMaxNum to set
83      */
84     public void setThreadMaxNum(int threadMaxNum) {
85         this.threadMaxNum = threadMaxNum;
86     }
87
88
89     /**
90      * @return the taskService
91      */
92     public TaskThreadService getTaskService() {
93         return taskService;
94     }
95
96
97 }