Wykryj zarejestrowane lub utworzone instancje komponentów MBean i MXBeans

W środowisku Java 8 wprowadzono zmianę w wymaganiach dotyczących widoczności interfejsów używanych do tworzenia komponentów MBean lub MXBean. Wszystkie interfejsy MBean i MXBean muszą być publiczne. W wersjach wcześniejszych niż Java 8 dozwolone były interfejsy niepubliczne, mimo że specyfikacja wskazywała, aby były publiczne.

Ustawienie właściwości systemowej jdk.jmx.mbeans.allowNonPublic przywraca stare działanie podsystemu zarządzania, umożliwiając stosowanie niepublicznych interfejsów zarządzania. Ta właściwość jest uważana za przejściową i może ona zostać usunięta w kolejnych wersjach.

Ponieważ kończenie nazwy interfejsu komponentu MBean łańcuchem MBean jest jedynie konwencją, a nie wymaganiem, wszystkie wywołania metod MBeanServer registerMBean lub createMBean są również oznaczane w celu podkreślenia tej różnicy w środowisku Java 8 podczas tworzenia komponentów bean zarządzania. Jeśli w interfejsach używanych komponentów bean zarządzania nie jest stosowana wyżej wymieniona konwencja, należy ręcznie sprawdzić, czy używane są interfejsy public.

Więcej informacji na ten temat zawiera dokumentacja języka Java: Pakiet javax.management.