診断プロバイダー (DP) のすべてのサービスは、診断サービス・インターフェースとして知られる Java Management Extensions (JMX) インターフェースを介しても使用できます。 診断サービス・インターフェースにより、管理者は診断プロバイダー名または診断プロバイダー ID を使用して、DP に対してメソッドを実行できます。
フォーマット済み出力が診断サービスから要求されると、出力はクライアント・ロケールにローカライズされます。 これにより、診断サービス MBean は、診断プロバイダー MBean から戻される Java オブジェクトなどの、複雑な Java オブジェクトの使用が実現できないような場合にインターフェースを使用するクライアントにとって、理想的なものに なっています。 そのようなインターフェースの一例が、wsadmin ツールです。
診断サービス・インターフェースは、診断プロバイダー (configDump、stateDump、および selfDiagnostic) オブジェクト上で利用可能な主要メソッドごとに、4 つのシグニチャーを提供します。これらのメソッド・シグニチャーは、非常に類 似しているため、この例ではそのすべてを configDump メソッドを使用して示しています。診断プロバイダーの configDump にマップする 4 つの診断サービス・メソッドは、次のとおりです。
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 つは、診断プロバイダーが実行することをそのまま戻します。2 番目の 2 つのメソッドは、実際の診断プロバイダーへのパススルーとし て機能しますが、これらは診断プロバイダーが戻す診断イベントの配列を取り、より利用しやすいストリング 配列に変換します。 さらに、これらのメソッドは、該当するロケールに対する出力を ローカライズする処理を行います。 気をつけなければならないのは、診断プロバイダー ID または 診断プロバイダー名を使用して、同じメソッドが実行できるということです。