diff options
Diffstat (limited to 'common-be/src/main/java/org/openecomp/sdc/be/workers/Worker.java')
-rw-r--r-- | common-be/src/main/java/org/openecomp/sdc/be/workers/Worker.java | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/common-be/src/main/java/org/openecomp/sdc/be/workers/Worker.java b/common-be/src/main/java/org/openecomp/sdc/be/workers/Worker.java index cf2a6d0d6c..b5495760f2 100644 --- a/common-be/src/main/java/org/openecomp/sdc/be/workers/Worker.java +++ b/common-be/src/main/java/org/openecomp/sdc/be/workers/Worker.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -31,39 +31,40 @@ import java.util.concurrent.TimeUnit; */ public class Worker<T extends Job<E>, E> implements Runnable { - private String workerName; - private LinkedBlockingQueue<T> inputQueue; + private static final int QUEUE_POLL_TIMEAUT = 500; + private String workerName; + private LinkedBlockingQueue<T> inputQueue; - private LinkedBlockingQueue<E> outputQueue; + private LinkedBlockingQueue<E> outputQueue; - private static Logger log = Logger.getLogger(Worker.class.getName()); + private static Logger log = Logger.getLogger(Worker.class.getName()); - public Worker(String workerName, LinkedBlockingQueue<T> inputQueue, LinkedBlockingQueue<E> outputQueue) { - this.workerName = workerName; - this.inputQueue = inputQueue; - this.outputQueue = outputQueue; - } + public Worker(String workerName, LinkedBlockingQueue<T> inputQueue, LinkedBlockingQueue<E> outputQueue) { + this.workerName = workerName; + this.inputQueue = inputQueue; + this.outputQueue = outputQueue; + } - @Override - public void run() { + @Override + public void run() { - try { - while (true) { - log.trace("worker:{} doing work", workerName); - T job = inputQueue.poll(500, TimeUnit.MILLISECONDS); - if (job == null) { + try { + while (true) { + log.trace("worker:{} doing work", workerName); + T job = inputQueue.poll(QUEUE_POLL_TIMEAUT, TimeUnit.MILLISECONDS); + if (job == null) { - log.debug("worker:{} nothing to do"); - break; - } - this.outputQueue.put(job.doWork()); - log.trace("worker:{} done with work", workerName); - } - } catch (Exception e) { - BeEcompErrorManager.getInstance().logInternalFlowError("executingJobFailed", - "failed during job execution worker" + workerName, BeEcompErrorManager.ErrorSeverity.ERROR); - log.debug("worker: {} nothing to do stoping", workerName,e); - } - } + log.debug("worker:{} nothing to do"); + break; + } + this.outputQueue.put(job.doWork()); + log.trace("worker:{} done with work", workerName); + } + } catch (Exception e) { + BeEcompErrorManager.getInstance().logInternalFlowError("executingJobFailed", + "failed during job execution worker" + workerName, BeEcompErrorManager.ErrorSeverity.ERROR); + log.debug("worker: {} nothing to do stoping", workerName, e); + } + } } |