private void verifyMBeanWithCompositeTypeGetters(final VM managerVM, final String memberId) {
    managerVM.invoke("verifyMBeanWithCompositeTypeGetters", () -> {
      SystemManagementService service = managementTestRule.getSystemManagementService();
      ObjectName objectName =
          new ObjectName("GemFire:service=custom,type=composite,member=" + memberId);

      GeodeAwaitility.await()
          .until(() -> service.getMBeanInstance(objectName, CompositeTestMXBean.class) != null);

      CompositeTestMXBean compositeTestMXBean =
          service.getMBeanInstance(objectName, CompositeTestMXBean.class);
      assertThat(compositeTestMXBean).isNotNull();

      CompositeStats listCompositeStatsData = compositeTestMXBean.listCompositeStats();
      assertThat(listCompositeStatsData).isNotNull();

      CompositeStats getCompositeStatsData = compositeTestMXBean.getCompositeStats();
      assertThat(getCompositeStatsData).isNotNull();

      CompositeStats[] getCompositeArrayData = compositeTestMXBean.getCompositeArray();
      assertThat(getCompositeArrayData).isNotNull().isNotEmpty();

      Integer[] getIntegerArrayData = compositeTestMXBean.getIntegerArray();
      assertThat(getIntegerArrayData).isNotNull().isNotEmpty();
    });
  }
Distributed tests for registering of custom mbean using composite types.
<p>

See User API {@link ManagementService#registerMBean(Object, ObjectName)}.
geode-core/src/distributedTest/java/org/apache/geode/management/CompositeTypeTestDUnitTest.java