private static LocatorLauncher startLocator(String name, File workingDirectory, int locatorPort,
      int jmxPort, String locators) {
    LocatorLauncher locatorLauncher = new LocatorLauncher.Builder()
        .setMemberName(name)
        .setPort(locatorPort)
        .setWorkingDirectory(workingDirectory.getAbsolutePath())
        .set(HTTP_SERVICE_PORT, "0")
        .set(JMX_MANAGER, "true")
        .set(JMX_MANAGER_PORT, String.valueOf(jmxPort))
        .set(JMX_MANAGER_START, "true")
        .set(LOCATORS, locators)
        .set(LOG_FILE, new File(workingDirectory, name + ".log").getAbsolutePath())
        .set(MAX_WAIT_TIME_RECONNECT, "1000")
        .set(MEMBER_TIMEOUT, "2000")
        .build();

    locatorLauncher.start();

    InternalLocator locator = (InternalLocator) locatorLauncher.getLocator();

    await().untilAsserted(() -> {
      assertThat(locator.isSharedConfigurationRunning())
          .as("Locator shared configuration is running on locator" + getVMId())
          .isTrue();
    });

    return locatorLauncher;
  }
Test MBean consistency when disconnecting and reconnecting a server. MBeans should
remain the same after a member reconnects as they were before the disconnect. MBeans (other
than local MBeans, which are filtered for this test) should be consistent between locators.
All MBeans not related to the killed member should remain the same when a member is killed.
geode-core/src/distributedTest/java/org/apache/geode/management/JmxServerReconnectDistributedTest.java