diff options
author | Rob Daugherty <rd472p@att.com> | 2018-03-14 02:07:32 -0400 |
---|---|---|
committer | Rob Daugherty <rd472p@att.com> | 2018-03-14 04:08:41 -0400 |
commit | 38f720752af4d4aad8c4e467a288d9048659f688 (patch) | |
tree | e81066a8b5c77272e30fb57a64999573c4db4d86 /bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapConsumer.java | |
parent | aee3d223f92a6f250f43e17558a2dfd576ff7294 (diff) |
AT&T 1712 and 1802 release code
This is code from AT&T's 1712 and 1802 releases.
Change-Id: Ie1e85851e94bc66c4d9514a0226c221939531a04
Issue-ID: SO-425
Signed-off-by: Rob Daugherty <rd472p@att.com>
Diffstat (limited to 'bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapConsumer.java')
-rw-r--r-- | bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapConsumer.java | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapConsumer.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapConsumer.java deleted file mode 100644 index 033951612d..0000000000 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/dmaap/DmaapConsumer.java +++ /dev/null @@ -1,131 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.mso.client.dmaap; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.concurrent.TimeUnit; - -import org.openecomp.mso.client.dmaap.exceptions.DMaaPConsumerFailure; -import org.openecomp.mso.client.dmaap.exceptions.ExceededMaximumPollingTime; -import org.openecomp.mso.client.dmaap.rest.RestConsumer; - -import com.google.common.base.Stopwatch; - -public abstract class DmaapConsumer extends DmaapClient { - - public DmaapConsumer() throws FileNotFoundException, IOException { - super("dmaap/default-consumer.properties"); - } - - public Consumer getConsumer() throws FileNotFoundException, IOException { - return new RestConsumer(this.properties); - } - public boolean consume() throws Exception { - - Consumer mrConsumer = this.getConsumer(); - int iterations = 0; - boolean accepted = false; - Stopwatch stopwatch = Stopwatch.createUnstarted(); - try { - while (this.continuePolling()) { - if (stopwatch.elapsed(TimeUnit.MILLISECONDS) >= this.getMaximumElapsedTime()) { - final String message = "exceeded maximum retries on " + this.getRequestId() + " on " + this.getTopic(); - auditLogger.error(message); - throw new ExceededMaximumPollingTime(message); - } - stopwatch.start(); - Iterable<String> itr = mrConsumer.fetch(); - stopwatch.stop(); - for (String message : itr) { - if (!accepted && this.isAccepted(message)) { - auditLogger.info("accepted message found for " + this.getRequestId() + " on " + this.getTopic()); - accepted = true; - } - if (accepted) { - if (this.isFailure(message)) { - this.stopProcessingMessages(); - auditLogger.info("received dmaap message: " + message); - final String errorMsg = "failure received from dmaap topic " + this.getTopic(); - auditLogger.error(errorMsg); - throw new DMaaPConsumerFailure(errorMsg); - } else { - auditLogger.info("received dmaap message: " + message); - this.processMessage(message); - } - } - } - iterations++; - } - return true; - } catch (Exception e ) { - throw e; - } finally { - if (stopwatch.isRunning()) { - stopwatch.stop(); - } - } - } - - /** - * Should this consumer continue to consume messages from the topic? - * @return - */ - public abstract boolean continuePolling(); - /** - * Process a message from a DMaaP topic - * - * @param message - * @throws Exception - */ - public abstract void processMessage(String message) throws Exception; - /** - * Has the request been accepted by the receiving system? - * Should the consumer move to processing messages? - * - * @param message - * @return - */ - public abstract boolean isAccepted(String message); - /** - * has the request failed? - * - * @param message - * @return - */ - public abstract boolean isFailure(String message); - /** - * The request id to filter messages on - * @return - */ - public abstract String getRequestId(); - /** - * Logic that defines when the consumer should stop processing messages - */ - public abstract void stopProcessingMessages(); - - /** - * time in milliseconds - */ - public int getMaximumElapsedTime() { - return 180000; - } -} |