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