Description
The Zookeeper Discovery is configured via the Configuration Admin and is automatically started once it receives the first configuration. At the same time as the connection is established, the discovery registers the EndpointListener Service and the EndpointListener ServiceTracker. Under some circumstances this causes immediate calls to the discovery. However as the connection attempt is made asynchronously to the other startup, the discovery calls can occur before the connection to the Zookeeper server was established which causes them to fail.
An approach to solve this issue would be to wait with the registration of the EndpointListener Service and the Service Tracker until the connection could be established. Furthermore they should be unregistered once the connection to the server is lost. And registered once it is reestablished.