Serwer aplikacji JBoss udostępnia poprzez szereg ziaren możliwość zarówno sprawdzenia stanu w jakich one się znajdują, jak i wykonywanie różnych operacji na nich. Dostać się do nich można poprzez konsolę JMX.
Poniżej znajduje się lista tych bardziej interesujących (ale w żadnym wypadku nie jest to lista ani pełna, ani wyczerpująca):
- java.lang:type=OperatingSystem
Pozwala na wyświetlenie informacji o systemie operacyjnym na którym jest uruchomiony serwer aplikacji. Można tu odczytać takie informacje o ilości otwartych plików, ilości i zużyciu pamięci, architekturze serwera, obciążeniu serwera, ilości procesorów. - java.lang:type=ClassLoading
Informacje o załadowanych klasach w JVM: ilość załadowanych klas, ilość usuniętych klas, całkowita ilość załadowanych klas. Można także włączyć opcjęVerbose
, która spowoduje, że w momencie ładowania jakiejś klasy zostanie wypisany na standardowe wyjście komunikat o tym. Może to być przydatne podczas debugowania aplikacja, w przypadku problemów z ładowaniem klas. - java.lang:type=Compilation
Informacje o kompilatorze oraz czasie jaki został poświęcony na kompilację kodu do bytecodu. - java.lang:type=GarbageCollector,name=nazwa kolektora
Informacje o odśmiecaczu, takie jak ile razy był uruchomiony, ile czasu potrzebował do działania, nazwy przestrzeni na zmienne używane przez grabage collector. - java.lang:type=Memory
Informacje o aktualnym stanie pamięci w JVM. Istnieje możliwość włączenia trybuVerbose
, dzieki któremu można się dowiedzieć o pamięci zwalnianej przez odśmiecacz. Można także wymusić wywołanie garbage collectora poprzez metodęgc()
. Funkcjonalnie odpowiada to wywołaniu metodySystem.gc()
. - java.lang:type=Runtime
Szereg informacji o maszynie wirtualnej Javy, takie jak: ścieżka klas, właściwości JVM, argumenty wejściowe dla JVM, nazwa producenta JVM, wersja JVM, lista bibliotek dla JVM, czas działania. - java.lang:type=Threading
Interfejs ten pozwala na zapoznanie i zarządzanie wątkami uruchomionymi w ramach maszyny wirtualnej Javy. Przy jego pomocy można uzyskać zarówno informacje o ilości uruchomionych wątków, ich numerach ID oraz informacje o poszczególnych wątkach.
Dostępna jest także metoda, pozwalające na sprawdzenie czy nie ma wątków zablokowanych (findDeadlockedThreads
). - jboss:type=Service,name=SystemProperties
Pozwala na wyświetlenie informacji systemowych. Posiada metodęshowAll
, która wyświetla wszystkie właściwości w kolejności alfabetycznej. Można się dowiedzieć co kryje się pod systemowymi właściwościami używanymi przez serwer aplikacji, takimi jak:jboss.server.data.dir
czyjboss.server.name
. - jboss:service=JNDIView
Pozwala na wyświetlenie obiektów zarejestrowanych w JNDI. Posiada dwie metodylist
orazlistXML
, które pozwalają wyświetlić informacje o poszczególnych obiektach i ich nazwach zarejestrowanych w JNDI. Przydatne w przypadku problemów z obiektami pozyskiwanymi z katalogu, takimi jak brak nie rozpoznana nazwa, problem z rzutowaniem klas. - jboss.system:type=Log4jService,service=Logging
Pozwala na konfigurację logowania serwera JBoss. Logowanie odbywa się przy użyciu bibliotekiLog4j
a to ziarno pozwala na bezpośrednią modyfikację jej konfiguracji: zmianę poziomu logowania, zmianę sposobu logowania poszczególnych komponentów, konfigurację czy przechwytywać komunikaty wypisywane na standardowe wyjście, plik konfiguracyjny i okres jego sprawdzania. - jboss.system:service=ThreadPool
Pozwala na sprawdzanie oraz zarządzanie rozmiarem puli wątków. Można sprawdzić ilość połączeń oczekujących na obsługę (parametrQueueSize
) i w razie potrzeby zwiększyć ilość działających wątków (parametrMaximumPoolSize
). - jboss.system:type=Server
Podstawowe informacje o serwerze aplikacji JBoss: wersja, data zbudowania, data uruchomienia. Pozwala także na wyłączenie serwera, uruchomienie odśmiecacza. - jboss.system:type=ServerConfig
Lokalizacja szeregu katalogów używanych przez JBossa, takich jak katalog domowy, tymczasowy i inne. Pozwala także na konfigurację sposobu opuszczania JVM w momencie kończenia pracy przez serwer aplikacji (czy JVM także ma kończyć swoją pracę w momencie zamykania JBossa). - jboss.system:type=ServerInfo
Wyświetlenie informacji o JVM oraz systemie operacyjnym. Posiada oprócz tego metody pozwalające na wyświetlenie informacji o zużyciu poszczególnych obszarów pamięci GC (listMemoryPools
), wyświetlenie informacji o wybranym pakiecie (displayPackageInfo
), zużyciu procesora przez poszczególne wątki (listThreadCpuUtilization
), zrzut informacji o wątkach (listThreadDump
).