@Override public void init() { super.init(); scheduledExecutorService.scheduleAtFixedRate(() -> { threadService.execute(() -> { sendToALiveMember(); }); }, 0, gossipManager.getSettings().getGossipInterval(), TimeUnit.MILLISECONDS); scheduledExecutorService.scheduleAtFixedRate(() -> { sendToDeadMember(); }, 0, gossipManager.getSettings().getGossipInterval(), TimeUnit.MILLISECONDS); scheduledExecutorService.scheduleAtFixedRate( () -> sendPerNodeData(gossipManager.getMyself(), selectPartner(gossipManager.getLiveMembers())), 0, gossipManager.getSettings().getGossipInterval(), TimeUnit.MILLISECONDS); scheduledExecutorService.scheduleAtFixedRate( () -> sendSharedData(gossipManager.getMyself(), selectPartner(gossipManager.getLiveMembers())), 0, gossipManager.getSettings().getGossipInterval(), TimeUnit.MILLISECONDS); }