b3c167babc571f9382be721540e4d634583c200f
[dmaap/messagerouter/dmaapclient.git] / src / main / java / com / att / nsa / 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 com.att.nsa.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 com.att.nsa.mr.client.MRClientFactory;
30 import com.att.nsa.mr.client.MRConsumer;
31 import com.att.nsa.mr.client.response.MRConsumerResponse;
32
33 public class SimpleExampleConsumerWithReturnResponse {
34
35
36         static FileWriter routeWriter= null;
37         static Properties props=null;   
38         static FileReader routeReader=null;
39         public static void main ( String[] args )
40         {
41         
42                 long count = 0;
43                 long nextReport = 5000;
44
45                 final long startMs = System.currentTimeMillis ();
46                                 
47                 try
48                 {
49                         String routeFilePath="src/main/resources/dme2/preferredRoute.txt";
50                                                         
51                         
52                         File fo= new File(routeFilePath);
53                         if(!fo.exists()){
54                                         routeWriter=new FileWriter(new File (routeFilePath));
55                         }       
56                         routeReader= new FileReader(new File (routeFilePath));
57                         props= new Properties();
58                         final MRConsumer cc = MRClientFactory.createConsumer ( "src/main/resources/dme2/consumer.properties" );
59                         while ( true )
60                         {       
61                                 MRConsumerResponse mrConsumerResponse = cc.fetchWithReturnConsumerResponse();
62                                 System.out.println("mrConsumerResponse code :"+mrConsumerResponse.getResponseCode());
63                                 
64                                 System.out.println("mrConsumerResponse Message :"+mrConsumerResponse.getResponseMessage());
65                                 
66                                 System.out.println("mrConsumerResponse ActualMessage :"+mrConsumerResponse.getActualMessages());
67                                 /*for ( String msg : mrConsumerResponse.getActualMessages() )
68                                 {
69                                         //System.out.println ( "" + (++count) + ": " + msg );
70                                         System.out.println(msg);
71                                 }*/
72                                 if ( count > nextReport )
73                                 {
74                                         nextReport += 5000;
75         
76                                         final long endMs = System.currentTimeMillis ();
77                                         final long elapsedMs = endMs - startMs;
78                                         final double elapsedSec = elapsedMs / 1000.0;
79                                         final double eps = count / elapsedSec;
80                                         System.out.println ( "Consumed " + count + " in " + elapsedSec + "; " + eps + " eps" );
81                                 }
82                         }
83                 }
84                 catch ( Exception x )
85                 {
86                         System.err.println ( x.getClass().getName () + ": " + x.getMessage () );
87                 }
88         }
89
90 }