1 package org.opendaylight.controller.sample.zeromq.consumer;
4 import java.util.concurrent.Executors;
5 import java.util.concurrent.Future;
6 import java.util.concurrent.ScheduledExecutorService;
7 import java.util.concurrent.TimeUnit;
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;
16 public class ExampleConsumer extends AbstractConsumer {
18 private final URI namespace = URI.create("http://cisco.com/example");
19 private final QName QNAME = new QName(namespace,"heartbeat");
21 ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
22 private ConsumerSession session;
26 public void onSessionInitiated(ConsumerSession session) {
27 this.session = session;
28 executor.scheduleAtFixedRate(new Runnable() {
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) {
42 }, 0, 10, TimeUnit.SECONDS);
46 protected void stopImpl(BundleContext context) {
47 // TODO Auto-generated method stub
48 super.stopImpl(context);