Доступ к статистике пула JBoss во время выполнения

#java #jboss #java-ee-6

#java #jboss #java-ee-6

Вопрос:

Я использую JBoss EAP 6.2 в своем проекте. Я настроил размер пула для компонентов без состояния (slsb-strict-max-pool) как x. Я вижу в дампе потока, что некоторые потоки ожидают некоторых объединенных экземпляров.

Теперь я хотел бы отслеживать используемый размер пула каждого компонента @Stateless во время выполнения. Итак, есть ли какой-либо способ получить доступ к этой информации через какой-либо MXBean? Итак, я могу где-нибудь отобразить, что компонент @Stateless выделил y из x объединенных экземпляров?

Спасибо, Рокко

Ответ №1:

Что ж, если вы уже проанализировали дамп потока, я полагаю, вам следует знать о jboss-cli. Здесь показаны показатели времени выполнения компонентов JBoss EJB. Например:

 /deployment=ProjectEAR.ear/subdeployment=ProjectWAR.war/subsystem=ejb3/stateless-session-bean=StatelessEJBName  :read-resource(include-runtime=true, recursive=true) 
{
"outcome" => "success",
"result" => {
    "component-class-name" => "StatelessEJBName",
    "declared-roles" => [],
    "execution-time" => 0L,
    "invocations" => 0L,
    "methods" => {},
    "peak-concurrent-invocations" => 0L,
    "pool-available-count" => 20,
    "pool-create-count" => 1,
    "pool-current-size" => 1,
    "pool-max-size" => 20,
    "pool-name" => "slsb-strict-max-pool",
    "pool-remove-count" => 0,
    "run-as-role" => undefined,
    "security-domain" => "other",
    "timers" => [],
    "wait-time" => 0L,
    "service" => undefined
} }
  

Не совсем ясно, вы хотите получать только статистику EJB во время выполнения или получать статистику EJB программно из вашего приложения?