1 /*******************************************************************************
2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Modifications Copyright © 2021 Orange.
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
23 *******************************************************************************/
25 package org.onap.dmaap.mr.test.clients;
27 import org.onap.dmaap.mr.client.MRClientFactory;
28 import org.onap.dmaap.mr.client.MRConsumer;
29 import org.onap.dmaap.mr.client.response.MRConsumerResponse;
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
34 import java.io.FileReader;
35 import java.io.FileWriter;
36 import java.util.Properties;
38 public class SimpleExampleConsumerWithReturnResponse {
40 private static final Logger logger = LoggerFactory.getLogger(SimpleExampleConsumerWithReturnResponse.class);
42 static FileWriter routeWriter = null;
43 static Properties props = null;
44 static FileReader routeReader = null;
46 public static void main(String[] args) {
49 long nextReport = 5000;
50 // remove while true and limite execution time in seconds
51 int timeMax = 86400; // one day
52 long endDate = System.currentTimeMillis() + timeMax * 1000;
54 final long startMs = System.currentTimeMillis();
57 String routeFilePath = "src/main/resources/dme2/preferredRoute.txt";
60 File fo = new File(routeFilePath);
62 routeWriter = new FileWriter(new File(routeFilePath));
64 routeReader = new FileReader(new File(routeFilePath));
65 props = new Properties();
66 final MRConsumer cc = MRClientFactory.createConsumer("src/main/resources/dme2/consumer.properties");
67 while (System.currentTimeMillis() < endDate) {
68 MRConsumerResponse mrConsumerResponse = cc.fetchWithReturnConsumerResponse();
69 System.out.println("mrConsumerResponse code :" + mrConsumerResponse.getResponseCode());
71 System.out.println("mrConsumerResponse Message :" + mrConsumerResponse.getResponseMessage());
73 System.out.println("mrConsumerResponse ActualMessage :" + mrConsumerResponse.getActualMessages());
75 if (count > nextReport) {
78 final long endMs = System.currentTimeMillis();
79 final long elapsedMs = endMs - startMs;
80 final double elapsedSec = elapsedMs / 1000.0;
81 final double eps = count / elapsedSec;
82 System.out.println("Consumed " + count + " in " + elapsedSec + "; " + eps + " eps");
85 } catch (Exception x) {
86 System.err.println(x.getClass().getName() + ": " + x.getMessage());
87 logger.error("exception: ", x);