진단 서비스 MBean이 제공하는 간단한 인터페이스
DP(진단 공급자)에 대한 모든 서비스는 JMX(Java™ Management Extensions) 인터페이스를 통해서도 사용할 수 있습니다. 진단 서비스 상호 작용. 진단 서비스 인터페이스를 사용하면 관리자는 진단 제공자 이름 또는 진단 제공자 ID를 사용하여 DP에 대해 메소드를 구동할 수 있습니다.
진단 서비스에 형식화된 출력을 요청하면, 해당 출력이 클라이언트 로케일로 지역화됩니다. 이러한 점 때문에, 진단 프로바이더 MBean에서 리턴되는 것과 같은 복합 Java 오브젝트를 이용할 수 없는 인터페이스를 사용하는 클라이언트에게 진단 서비스 MBean은 이상적인 기능입니다. 인터페이스의 예는 wsadmin 도구입니다.
진단 서비스 인터페이스는 진단 제공자(configDump, stateDump 및 selfDiagnostic) 오브젝트에 사용 가능한 각 중요 메소드에 대한 네 가지 서명을 제공합니다. 메소드 서명이 너무 유사하기 때문에 이 예제는 configDump 메소드 전체에 이를 표시합니다. 진단 제공자에서 configDump로 맵핑하는 네 가지 진단 서비스 메소드는 다음과 같습니다.
public DiagnosticEvent [] configDump(String aDPName, String aAttributeIdSpec, boolean aRegisteredOnly)
public DiagnosticEvent [] configDumpById(String aDPid, String aAttributeIdSpec, boolean aRegisteredOnly)
public String [] configDumpFormatted(String aDPName, String aAttributeIdSpec,
boolean aRegisteredOnly, Locale aLocale)
public String [] configDumpFormattedById(String aDPid, String aAttributeIdSpec,
boolean aRegisteredOnly, Locale aLocale) {
첫 번째 두 가지는 진단 제공자가 수행하는 사항을 정확히 리턴합니다. 두 번째 2개의 메소드는 실제 진단 제공자에 대한 통로 역할을 하지만 진단 제공자가 리턴하는 진단 이벤트의 배열을 사용하여 이를 보다 쉽게 처리할 수 있는 문자열 배열로 변환합니다. 이들 메소드는 해당 로케일로의 출력 로컬화도 핸들합니다. 유의해야 할 중요사항은 진단 제공자 ID 또는 진단 제공자 이름을 사용하여 동일한 메소드가 구동될 수 있다는 점입니다.