322.4. 使用方法
组件仅支持 producer 端点。尝试创建消费者端点将导致 UnsupportedOperationException
。
消息的正文必须是映射( java.util.Map
实例)。除非在 ContextSource 配置中指定基本 DN,否则此映射必须至少包含一个带有键 dn
(对 function_driven 操作不需要)的条目,用来指定执行 LDAP 操作的 root 节点。映射的其他条目是特定于操作的(请参阅以下)。
对于 bind
和 unbind
操作,消息的正文保持不变。有关 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.1. 搜索
消息正文必须具有一个带有密钥 过滤器
的条目。该值必须是代表有效 LDAP 过滤器的 String
,请参阅 http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol#Search_and_Compare。
322.4.2. 绑定
消息正文必须具有一个带有关键 属性
的条目。该值必须是 javax.naming.directory.Attributes 此条目的实例,指定要创建的 LDAP 节点。
322.4.3. unbind
不需要其他条目,会删除带有指定 dn
的节点。
322.4.4. 身份验证
消息正文必须具有带有键 过滤器
和密码
的条目。该值必须是 String
实例,分别代表有效的 LDAP 过滤器和用户密码。
322.4.5. 修改属性
消息正文必须具有带有密钥 modify Items
的条目。该值必须是任何类型为 javax.naming.directory.ModificationItem的数组的实例
322.4.6. function-Driven
消息正文必须具有带有密钥函数和
的条目。请求
功能
值必须是 java.util.function.BiFunction<L, Q, S
> 类型。L
type 参数必须是 org.springframework.ldap.core.LdapOperations
。request
值必须与函数中的 Q
type 参数相同,它必须封装 函数
中调用的 LdapTemplate 方法所预期的参数。
S
type 参数代表被调用的 LdapTemplate 方法返回的响应类型。此操作允许动态调用上述操作未涵盖的 LdapTemplate 方法。
键定义
为避免拼写错误,在 org.apache.camel.springldap.springLdapProducer
中定义以下常量:
- 公共静态最终字符串 DN = "dn"
- 公共静态最终字符串 FILTER = "filter"
- 公共静态最终字符串 ATTRIBUTES = "attributes"
- 公共静态最终字符串 PASSWORD = "password";
- public static final String MODIFICATION_ITEMS = "modificationItems";
- 公共静态最终字符串 FUNCTION = "function";
- 公共静态最终字符串 REQUEST = "request";