Interstage Application Server Smart Repository運用ガイド |
目次
索引
![]() ![]() |
第7章 アプリケーションの作成(JNDI) | > 7.1 JNDIの使用方法 | > 7.1.2 アプリケーションの処理手順 |
JNDIを使ってSmart Repositoryサーバへアクセスするためには、環境プロパティ “javax.naming.Context.INITIAL_CONTEXT_FACTORY”に必ず“com.sun.jndi.ldap.LdapCtxFactory”を設定してください。
なお、環境プロパティについては、“環境プロパティ(ENVIRONMENT PROPERTIES)”を参照してください。
以下のJNDIのメソッドを使って、基本的なLDAPサーバアクセスを行うことができます。
エントリの検索を行います。
エントリを追加します。
エントリの属性値の変更を行います。
エントリを削除します。
詳しい使用方法については、“サンプルプログラム”、または以下のパスにあるサンプルプログラムを参照してください。
“C:\Interstage\IREPSDK\sample\JAVA”
“/opt/FJSVirepc/sample/JAVA”
Smart Repositoryサーバに対してエントリの検索を要求すると、検索でヒットしたエントリの情報が通知されます。エントリを検索する場合、以下のメソッドを使用します。
DirContext.search()
以下のクラスを使用してセションに対する検索オプションを設定します。
javax.naming.directory.SearchControls
検索結果の最大エントリ数を制限します。初期値は0(制限しない)です。setCountLimit()メソッドを使用します。
検索での最大タイムアウト時間をミリ秒で指定します。setTimeLimit()メソッドを使用します。初期値は0(制限しない)です。
クライアントからアクセスするDN(バインドDN)と、サーバ側の検索可能最大エントリ数、検索タイムアウト時間の設定値により、設定した値が有効にならない場合があります。“Interstage管理コンソールの設定項目”の“検索可能最大エントリ数、検索タイムアウト時間指定時の動作について”を参照してください。
検索対象とする範囲を以下の値で指定します。setSearchScope()メソッドを使用します。初期値はONELEVEL_SCOPEです。
クライアントに通知する属性名を配列で指定します。初期値はnull(制限しない)です。setReturningAttributes()メソッドを使用します。
検索条件の式を指定します。詳細は、“Smart Repositoryの主な機能”-“エントリ管理”、および“検索フィルタ”を参照してください。
属性値の比較を行うことにより、属性値の読込みを行わずに値を判定することができます。属性値を比較する場合、以下のメソッドを使用します。
DirContext.search()
エントリの検索と同じメソッドですが、以下の制約があります。
部分文字列の一致、存在など、ワイルドカード「*」は使えません。
エントリの変更では、指定された属性を追加/削除/置換することができます。この時、指定されなかった属性は変更しません。
エントリを変更する場合には、以下のメソッドを使用します。
DirContext.modifyAttributes()
javax.naming.directory.ModificationItemクラスを使って、操作対象の属性リストを作成します。ModificationItemは、操作対象の属性と、変更操作の種類から成ります。変更操作の種類には、以下のどれか1つを指定します。
この属性リストをmodifyAttributes()メソッドに指定します。
DN、またはRDNを変更するには、以下のメソッドを使用します。
javax.naming.Context.rename()
現在のDNと新しいDNを指定します。もとのRDNに該当する属性値を、エントリから削除するかどうかは、環境プロパティ“java.naming.ldap.deleteRDN”で指定します。初期値は、"true"です。
エントリを追加するには、以下のメソッドを使用します。
DirContext.createSubcontext()
追加するエントリのDNと、属性の集合を指定します。属性の集合は、javax.naming.directory.Attributes、およびjavax.naming.directory.Attributeインタフェースを使用して作成します。
エントリを削除するには、以下のメソッドを使用します。
javax.naming.Context.destroySubcontext()
削除するエントリのDNを指定します。
非同期でSmart Repositoryサーバに要求を送信した場合、以下の方法で、その要求を取り消すことができます。
処理中のすべての要求を取り消します。
検索要求を取り消します。
目次
索引
![]() ![]() |