5.3. 빈에 대한 런타임 배포 정보
성능 모니터링을 위해 빈에 런타임 배포 정보를 추가할 수 있습니다.
사용 가능한 런타임 데이터에 대한 자세한 내용은 JBoss EAP 관리 모델의 Cryostat 3 하위 시스템을 참조하십시오. 애플리케이션은 빈 코드 또는 배포 설명자에 런타임 데이터를 주석으로 포함할 수 있습니다. 애플리케이션에서 두 옵션을 모두 사용할 수 있습니다.
5.3.1. Jakarta 엔터프라이즈 빈에서 런타임 데이터를 검색하는 명령줄 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Jakarta Enterprise Cryostats의 런타임 데이터는 관리 CLI에서 사용할 수 있으므로 자카르타 엔터프라이즈의 성능을 평가할 수 있습니다.
모든 유형의 빈에 대한 런타임 데이터를 검색하는 명령은 다음 패턴을 사용합니다.
/deployment=<deployment_name>/subsystem=ejb3/<bean_type>=<bean_name>:read-resource(include-runtime)
& lt;deployment_name >을 런타임 데이터를 검색할 배포 .jar 파일의 이름으로 바꿉니다. & lt;bean_type >을 런타임 데이터를 검색할ans 유형으로 바꿉니다. 다음 옵션은 이 자리 표시자에 유효합니다.
-
stateless-session-bean -
stateful-session-bean -
singleton-bean -
message-driven-bean
& lt;bean_name >을 런타임 데이터를 검색할 metrics의 이름으로 바꿉니다.
시스템은 JSON(JavaScript Object Notation) 데이터로 포맷된 stdout 에 결과를 제공합니다.
- Cryostat
-management.jar라는 파일에 배포된ManagedSingletonBean이라는 Singleton 빈의 런타임 데이터를 검색하는 명령의 예
/deployment=ejb-management.jar/subsystem=ejb3/singleton-bean=ManagedSingletonBean:read-resource(include-runtime)
- 싱글톤 빈에 대한 출력 런타임 데이터의 예
{
"outcome" => "success",
"result" => {
"async-methods" => ["void async(int, int)"],
"business-local" => ["sample.ManagedSingletonBean"],
"business-remote" => ["sample.BusinessInterface"],
"component-class-name" => "sample.ManagedSingletonBean",
"concurrency-management-type" => undefined,
"declared-roles" => [
"Role3",
"Role2",
"Role1"
],
"depends-on" => undefined,
"execution-time" => 156L,
"init-on-startup" => false,
"invocations" => 3L,
"jndi-names" => [
"java:module/ManagedSingletonBean!sample.ManagedSingletonBean",
"java:global/ejb-management/ManagedSingletonBean!sample.ManagedSingletonBean",
"java:app/ejb-management/ManagedSingletonBean!sample.ManagedSingletonBean",
"java:app/ejb-management/ManagedSingletonBean!sample.BusinessInterface",
"java:global/ejb-management/ManagedSingletonBean!sample.BusinessInterface",
"java:module/ManagedSingletonBean!sample.BusinessInterface"
],
"methods" => {"doIt" => {
"execution-time" => 156L,
"invocations" => 3L,
"wait-time" => 0L
}},
"peak-concurrent-invocations" => 1L,
"run-as-role" => "Role3",
"security-domain" => "other",
"timeout-method" => "public void sample.ManagedSingletonBean.timeout(javax.ejb.Timer)",
"timers" => [{
"time-remaining" => 4304279L,
"next-timeout" => 1577768415000L,
"calendar-timer" => true,
"persistent" => false,
"info" => "timer1",
"schedule" => {
"year" => "*",
"month" => "*",
"day-of-month" => "*",
"day-of-week" => "*",
"hour" => "0",
"minute" => "0",
"second" => "15",
"timezone" => undefined,
"start" => undefined,
"end" => undefined
}
}],
"transaction-type" => "CONTAINER",
"wait-time" => 0L,
"service" => {"timer-service" => undefined}
}
}
- Cryostat-
management.jar라는 파일에 배포된NoTimerMDB라는 메시지 기반 빈의 런타임 데이터를 검색하는 명령의 예
/deployment=ejb-management.jar/subsystem=ejb3/message-driven-bean=NoTimerMDB:read-resource(include-runtime)
- 메시지 기반 8080의 출력 예
{
"outcome" => "success",
"result" => {
"activation-config" => [
("destination" => "java:/queue/NoTimerMDB-queue"),
("destinationType" => "javax.jms.Queue"),
("acknowledgeMode" => "Auto-acknowledge")
],
"component-class-name" => "sample.NoTimerMDB",
"declared-roles" => [
"Role3",
"Role2",
"Role1"
],
"delivery-active" => true,
"execution-time" => 0L,
"invocations" => 0L,
"message-destination-link" => "queue/NoTimerMDB-queue",
"message-destination-type" => "javax.jms.Queue",
"messaging-type" => "javax.jms.MessageListener",
"methods" => {},
"peak-concurrent-invocations" => 0L,
"pool-available-count" => 16,
"pool-create-count" => 0,
"pool-current-size" => 0,
"pool-max-size" => 16,
"pool-name" => "mdb-strict-max-pool",
"pool-remove-count" => 0,
"run-as-role" => "Role3",
"security-domain" => "other",
"timeout-method" => undefined,
"timers" => [],
"transaction-type" => "CONTAINER",
"wait-time" => 0L,
"service" => undefined
}
}