/** * Add topology event listeners to the topology event receiver. * * @param topologyEventReceiver topology event receiver instance */ private void addTopologyEventListeners( final LoadBalancerCommonTopologyEventReceiver topologyEventReceiver) { topologyEventReceiver.addEventListener( new CompleteTopologyEventListener() { @Override protected void onEvent(Event event) { try { if (!loadBalancerStarted) { configureAndStart(); } } catch (Exception e) { if (log.isErrorEnabled()) { log.error("Could not start load balancer", e); } stop(); } } }); topologyEventReceiver.addEventListener( new MemberActivatedEventListener() { @Override protected void onEvent(Event event) { reloadConfiguration(); } }); topologyEventReceiver.addEventListener( new MemberSuspendedEventListener() { @Override protected void onEvent(Event event) { reloadConfiguration(); } }); topologyEventReceiver.addEventListener( new MemberTerminatedEventListener() { @Override protected void onEvent(Event event) { reloadConfiguration(); } }); topologyEventReceiver.addEventListener( new ClusterRemovedEventListener() { @Override protected void onEvent(Event event) { reloadConfiguration(); } }); topologyEventReceiver.addEventListener( new ServiceRemovedEventListener() { @Override protected void onEvent(Event event) { reloadConfiguration(); } }); topologyEventReceiver.addEventListener( new MemberMaintenanceListener() { @Override protected void onEvent(Event event) { reloadConfiguration(); } }); }