InfoDirectory SDK 使用手引書
目次 索引 前ページ次ページ

第8章 資料採取> 8.2 資料採取方法

8.2.3 JNDIのトレース取得

 JNDIを使用するアプリケーションでは、JNDIの環境プロパティ"com.sun.jndi.ldap.trace.ber"の値に、java.io.OutputStreamを指定することで、そのオブジェクトに対して、LDAP ASN.1 BER の送受信パケットの 16 進ダンプを書き込むことができます。
 

トレースの表示


 上記は説明を簡略化するため適切なException処理となっておりません。実際にはアプリケーション設計・作成時に適切なExceptionの型とそれに対応する適切な対処を行ってください。

JNDIアプリケーションの出力機構の追加

 JNDIトレース機能は、常時採取する設定にすると通常の運用に比べて性能が劣化します。また、トレースを採取しない設定にすると、障害発生時などトレースを採取する必要がある場合に、プログラムを再コンパイルしなければなりません。この問題を解決するために、以下にJavaのシステムプロパティを使用した例を紹介します。これを実装することにより、Javaの起動パラメタ(-Dオプション)によりトレース採取のON/OFFの指定を行うことができます。
 

システムプロパティ (jndi_trace_file)

 トレース情報の出力先ファイル名をフルパスで指定します。この環境変数が設定されていない場合(-Dオプションを指定しない場合)は、トレースは採取されません。

実行例

 javaコマンドの-Dオプションにjndi_trace_fileを指定します。/tmp/jndi_trace.logファイルにJNDIトレースが採取されます。

 java -Djndi_trace_file=/tmp/jndi_trace.log xxxx
 (xxxx:任意の実行モジュール)

実装例

 ・・・
 
 String tracefile = null;
 FileOutputStream fos = null;
 
 Properties prop = System.getProperties();
 tracefile = prop.get("jndi_trace_file"); //←システム環境変数の読み込み
 
 if(tracefile != null) {
   try {
     fos = new FileOutputStream(tracefile);
     env.put("com.sun.jndi.ldap.trace.ber", fos);
   } catch(Exception e) {
     System.out.println(e);
   }
 }
 
 ・・・


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006