code: public void scheduleReconnect() {
          Runnable startRunnable = new Runnable() {
              @Override
              public void run() {
                  try {
                      MBeanServerConnection serverConnection = getNetworkConnection();
                      if (notificationListener != null) {
                          serverConnection.addNotificationListener(objectName, notificationListener, getEndpointConfiguration().getNotificationFilter(), getEndpointConfiguration().getNotificationHandback());
                      }
                  } catch (Exception e) {
                      log.warn("Failed to reconnect to JMX MBean server. {}", e.getMessage());
                      scheduleReconnect();
                  }
              }
          };
          log.info("Reconnecting to MBean server {} in {} milliseconds.", getEndpointConfiguration().getServerUrl(), getEndpointConfiguration().getDelayOnReconnect());
          scheduledExecutor.schedule(startRunnable, getEndpointConfiguration().getDelayOnReconnect(), TimeUnit.MILLISECONDS);
      }
docs: Schedules an attempt to re-initialize a lost connection after the reconnect delay