Interstage Application Server ディレクトリサービス運用ガイド |
目次
索引
![]() ![]() |
第8章 アプリケーションの作成(JNDI) | > 8.2 ソースプログラムの作成 | > 8.2.4 エントリの検索 |
javax.naming.directory.SearchControlsを使用すると、以下の検索オプションを指定できます。
検索対象とする範囲
検索対象とする範囲を絞り込むことができます。setSearchScope()メソッドを使用します。以下の3つの中から1つを指定します。初期値はONELEVEL_SCOPEです。
- OBJECT_SCOPE : サーチベースに指定された階層だけを検索します。
- ONELEVEL_SCOPE : サーチベースに指定された階層の1つ下の階層を検索します。
- SUBTREE_SCOPE : サーチベースに指定された階層以下すべてを検索します。
サーチベースに指定した階層以下すべてを検索するときの指定例です。
SearchControls constraints = new SearchControls(); constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
検索結果として取得する属性
基本的な検索では、読み取れる属性値すべての情報が返されます。アプリケーションの処理内容によって、必要な属性だけを取得することができます。setReturningAttributes()メソッドを使用します。検索結果として取得する属性名を配列で指定します。初期値はnull(すべての属性を返す)です。何も取得しないときは、空の配列を指定します。
「mail」と「telephonenumber」を取得するときの例です。
String[] attrs = {"mail", "telephonenumber"}; SearchControls constraints = new SearchControls(); constraints.setReturningAttributes(attrs);
検索結果の最大エントリ数
検索結果として受け取るエントリ数を制限できます。setCountLimit()メソッドを使用します。初期値は0(制限しない)です。
10件で制限する例です。
SearchControls constraints = new SearchControls(); constraints.setCountLimit(10);
検索結果の最大待ち時間
検索での待ち時間を制限できます。setTimeLimit()メソッドを使用します。待ち時間をミリ秒単位で指定します。初期値は0(制限しない)です。
1秒で制限する例です。
SearchControls constraints = new SearchControls(); constraints.setTimeLimit(1000);
クライアントからアクセスするDN(バインドDN)と、サーバ側の検索可能最大エントリ数、検索タイムアウト時間の指定値の組み合わせによっては、検索オプションで指定した値が有効にならない場合があります。クライアント側の指定値とサーバ側の指定値との関係は、Interstage管理コンソールのヘルプを参照してください。
目次
索引
![]() ![]() |