Merge "Fixed sal-netconf-connector readConfiguration"
[controller.git] / opendaylight / md-sal / test / zeromq-test-consumer / src / main / java / org / opendaylight / controller / sample / zeromq / consumer / ExampleConsumer.java
1 package org.opendaylight.controller.sample.zeromq.consumer;
2
3 import java.net.URI;
4 import java.util.concurrent.Executors;
5 import java.util.concurrent.Future;
6 import java.util.concurrent.ScheduledExecutorService;
7 import java.util.concurrent.TimeUnit;
8
9 import org.opendaylight.controller.sal.core.api.AbstractConsumer;
10 import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession;
11 import org.opendaylight.yangtools.yang.common.QName;
12 import org.opendaylight.yangtools.yang.common.RpcResult;
13 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
14 import org.osgi.framework.BundleContext;
15
16 public class ExampleConsumer extends AbstractConsumer {
17
18     private final URI namespace = URI.create("http://cisco.com/example");
19     private final QName QNAME = new QName(namespace,"heartbeat");
20     
21     ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
22     private ConsumerSession session;
23     
24     
25     @Override
26     public void onSessionInitiated(ConsumerSession session) {
27         this.session = session;
28         executor.scheduleAtFixedRate(new Runnable() {
29             
30             @Override
31             public void run() {
32                 int count = 0;
33                 try {
34                     Future<RpcResult<CompositeNode>> future = ExampleConsumer.this.session.rpc(QNAME, null);
35                     RpcResult<CompositeNode> result = future.get();
36                     System.out.println("Result received. Status is :" + result.isSuccessful());
37                 } catch (Exception e) {
38                     e.printStackTrace();
39                 }
40                 
41             }
42         }, 0, 10, TimeUnit.SECONDS);
43     }
44     
45     @Override
46     protected void stopImpl(BundleContext context) {
47         // TODO Auto-generated method stub
48         super.stopImpl(context);
49         executor.shutdown();
50     }
51 }