- 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));
+
+ RegisterDataTreeNotificationListenerReply reply;
+ try {
+ reply = (RegisterDataTreeNotificationListenerReply)
+ Await.result(Patterns.ask(shardActor, new RegisterDataTreeChangeListener(path, dclActor, false),
+ new Timeout(5, TimeUnit.SECONDS)), FiniteDuration.create(5, TimeUnit.SECONDS));
+ } catch (RuntimeException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ return new SimpleEntry<>(listener, getSystem().actorSelection(reply.getListenerRegistrationPath()));