- ActorRef dclActor = actorFactory.createActor(DataTreeChangeListenerActor.props(listener));
- support.onMessage(new RegisterDataTreeChangeListener(path, dclActor, false), isLeader, true);
- return listener;
+ ActorRef dclActor = actorFactory.createActor(DataTreeChangeListenerActor.props(listener, TestModel.TEST_PATH));
+
+ try {
+ RegisterDataTreeChangeListenerReply reply = (RegisterDataTreeChangeListenerReply)
+ Await.result(Patterns.ask(shardActor, new RegisterDataTreeChangeListener(path, dclActor, false),
+ new Timeout(5, TimeUnit.SECONDS)), Duration.create(5, TimeUnit.SECONDS));
+ return new SimpleEntry<>(listener, getSystem().actorSelection(reply.getListenerRegistrationPath()));
+
+ } catch (Exception e) {
+ Throwables.propagate(e);
+ return null;
+ }