1 /*******************************************************************************
2 * ============LICENSE_START=======================================================
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
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=========================================================
19 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
21 *******************************************************************************/
22 package com.att.nsa.mr.test.clients;
24 import java.util.LinkedList;
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
29 import com.att.nsa.mr.client.MRClientFactory;
30 import com.att.nsa.mr.client.MRConsumer;
32 public class SampleConsumer {
33 private SampleConsumer() {
35 public static void main ( String[] args )
37 final Logger log = LoggerFactory.getLogger(SampleConsumer.class);
40 log.info("Sample Consumer Class executing");
41 final String topic = "com.att.app.dmaap.mr.testingTopic";
42 final String url = ( args.length > 1 ? args[1] : "localhost:8181" );
43 final String group = ( args.length > 2 ? args[2] :"grp" );
45 final String id = ( args.length > 3 ? args[3] : "1" );
48 long nextReport = 5000;
50 final long startMs = System.currentTimeMillis ();
52 final LinkedList<String> urlList = new LinkedList<> ();
53 for ( String u : url.split ( "," ) )
58 final MRConsumer cc = MRClientFactory.createConsumer ( urlList, topic, group, id, 10*1000, 1000, null, "CG0TXc2Aa3v8LfBk", "pj2rhxJWKP23pgy8ahMnjH88" );
63 for ( String msg : cc.fetch () )
65 log.info ( "" + (++count) + ": " + msg );
68 if ( count > nextReport )
72 final long endMs = System.currentTimeMillis ();
73 final long elapsedMs = endMs - startMs;
74 final double elapsedSec = elapsedMs / 1000.0;
75 final double eps = count / elapsedSec;
76 log.info ( "Consumed " + count + " in " + elapsedSec + "; " + eps + " eps" );
78 log.info ( "" + (++count) + ": consumed message" );
83 log.error( x.getClass().getName () + ": " + x.getMessage () );
84 throw new IllegalArgumentException(x);