322.4. 使用方法

コンポーネントはプロデューサーエンドポイントのみをサポートします。コンシューマーエンドポイントを作成しようとすると、UnsupportedOperationException が発生します。
メッセージの本文はマップ (java.util.Map のインスタンス) でなければなりません。ContextSource の設定でベース DN が指定されていない限り、このマップには、実行する LDAP 操作のルートノードを指定するキー dn (function_driven 操作には不要) を持つエントリーが少なくとも含まれている必要があります。マップの他のエントリーは操作固有です (以下を参照)。

メッセージの本文は、BINDunbind 操作で変更されません。search および function_driven 操作の場合、本文は検索結果に設定されます。http://static.springsource.org/spring-ldap/site/apidocs/org/springframework/ldap/core/LdapTemplate.html#search%28java.lang.String,%20java.lang.String,%20int,%20org.springframework.ldap.core.AttributesMapper%29 を参照してください

322.4.2. バインド

メッセージボディーには、キー attributes を持つエントリーが必要です。値は、javax.naming.directory.Attributes のインスタンスである必要があります。このエントリーは、作成する LDAP ノードを指定します。

322.4.3. Unbind

これ以上のエントリーは必要ありません。指定された dn を持つノードが削除されます。

322.4.4. 認証

メッセージボディーには、キー filter および password を含むエントリーが必要です。値は、それぞれ有効な LDAP フィルターとユーザーパスワードを表す String のインスタンスである必要があります。

322.4.5. 属性の変更

メッセージボディーには、キー modificationItems を持つエントリーが必要です。値は、タイプ javax.naming.directory.ModificationItem の任意の配列のインスタンスである必要があります

322.4.6. ファンクションドリブン

メッセージボディーには、キー function および request を含むエントリーが必要です。function 値は java.util.function.BiFunction<L, Q, S> 型である必要があります。L 型パラメーターは、型 org.springframework.ldap.core.LdapOperations でなければなりません。request 値は、function 内の Q 型パラメーターと同じ型である必要があり、function 内で呼び出される LdapTemplate メソッドによって想定されるパラメーターをカプセル化する必要があります。S 型パラメーターは、呼び出された LdapTemplate メソッドによって返されるレスポンスの型を表します。この操作により、上記の操作でカバーされない LdapTemplate メソッドを動的に呼び出すことができます。

キーの定義

スペルミスを避けるために、次の定数が org.apache.camel.springldap.SpringLdapProducer で定義されています。

  • public static final String DN = "dn"
  • public static final String FILTER = "filter"
  • public static final String ATTRIBUTES = "attributes"
  • public static final String PASSWORD = "password";
  • public static final String MODIFICATION_ITEMS = "modificationItems";
  • public static final String FUNCTION = "function";
  • public static final String REQUEST = "request";