无法将该对象添加到ldap服务器_SpringBoot中文参考指南(2.1.6)32.8、Couchbase/32.9、LDAP

上一篇[32.6Elasticsearch、Cassandra]

下一篇[未完待续]

884ce15b4f96f7f550538a488c673814.png
英文原文:https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-nosql.html
GitHub:https://github.com/jijicai/Spring/tree/master/spring-boot

32.8、Couchbase

Couchbase 是一个开源、分布式、多模型的面向 NoSQL 文档的数据库,为交互式应用程序优化。Spring Boot 提供Couchbase 的自动配置以及 Spring Data Couchbase 在其上提供的抽象。有 spring-boot-starter-data-couchbase 和 spring-boot-starter-data-couchbase-reactive “Starters”,可以方便地收集依赖项。

32.8.1、连接到 Couchbase

你可以通过添加 Couchbase SDK 和一些配置来获得 Bucket 和 Cluster。spring.couchbase.* 属性可用于自定义连接。通常,你提供 bootstrap hosts、bucket name 和 password,如下面示例所示:

cca97f31cfab3125cb7c52dcc2750c15.png
spring.couchbase.bootstrap-hosts=my-host-1,192.168.1.123spring.couchbase.bucket.name=my-bucketspring.couchbase.bucket.password=secret

提示:你至少需要提供 bootstrap host(s),在这种情况下,bucket name 是默认的,password 是空字符串。或者,你可以定义自己的 org.springframework.data.couchbase.config.CouchbaseConfigurer @Bean 来控制整个配置。

还可以自定义一些 CouchbaseEnvironment 设置。例如,以下配置更改了用于打开新 Bucket 的超时,启用了 SSL 支持:

c635219784ace027c3c8eb9923016e95.png
spring.couchbase.env.timeouts.connect=3000spring.couchbase.env.ssl.key-store=/location/of/keystore.jksspring.couchbase.env.ssl.key-store-password=secret

有关详细信息,请查看 spring.couchbase.env.* 属性。

32.8.2、Spring Data Couchbase 存储库

Spring Data 包括对 Couchbase 的存储库支持。有关 Spring Data Couchbase 的完整详细信息,请参阅参考文档。(https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/ )

你可以像任何其他 Spring Bean 一样注入一个自动配置的 CouchbaseTemplate 实例,只要有一个可用的缺省 CouchbaseConfigurer(在启用 Couchbase 支持时发生,如前所述)。

下面的示例展示了如何注入 Couchbase bean:

687a9569b8a03db84749de92aaadcca3.png
@Componentpublic class MyBean {    private final CouchbaseTemplate template;    @Autowired    public MyBean(CouchbaseTemplate template) {        this.template = template;    }    // ...}

你可以在自己的配置中定义几个 bean 来覆盖自动配置提供的 bean:

(1)名称为 couchbaseTemplate 的 CouchbaseTemplate @Bean

(2)名称为 couchbaseIndexManager 的 IndexManager @Bean

(3)名称为 couchbaseCustomConversions 的 CustomConversions @Bean

为了避免在你自己的配置中硬编码这些名称,你可以重用 Spring Data Couchbase 提供的 BeanNames。例如,可以自定义要使用的转换器,如下所示:

7ffa618c6b80947bfa072570c774f040.png
@Configurationpublic class SomeConfiguration {    @Bean(BeanNames.COUCHBASE_CUSTOM_CONVERSIONS)    public CustomConversions myCustomConversions() {        return new CustomConversions(...);    }    // ...}

提示:如果你想完全绕过 Spring Data Couchbase 的自动配置,请提供你自己的 org.springframework.data.couchbase.config.AbstractCouchbaseDataConfiguration 实现。

32.9、LDAP

LDAP(轻量级目录访问协议)是一种开放的、与供应商无关的、行业标准的应用程序协议,用于通过 IP 网络访问和维护分布式目录信息服务。Spring Boot 为任何兼容的 LDAP 服务器提供自动配置,并支持 UnboundID 中的嵌入式内存 LDAP 服务器。

LDAP 抽象由 Spring Data LDAP 提供。有一个 spring-boot-starter-data-ldap “Starter”,用于以一种方便的方式收集依赖项。

32.9.1、连接到 LDAP 服务器

要连接到 LDAP 服务器,请确保声明对 spring-boot-starter-data-ldap “Starter” 或 spring-ldap-core 的依赖,然后在 application.properties 中声明服务器的 URL,如下面示例所示:

25e0f01c432ed67e37e1e6b70856b611.png
spring.ldap.urls=ldap://myserver:1235spring.ldap.username=adminspring.ldap.password=secret

如果需要自定义连接设置,可以使用 spring.ldap.base 和 spring.ldap.base-environment 属性。

LdapContextSource 是基于这些设置自动配置的。如果需要对其进行自定义,例如要使用 PooledContextSource,仍然可以注入自动配置的 LdapContextSource。确保将自定义 ContextSource 标记为 @Primary,以便自动配置的 LdapTemplate 使用它。

32.9.2、Spring Data LDAP 存储库

Spring Data 包括对 LDAP 的存储库支持。有关 Spring Data LDAP 的完整详细信息,请参阅参考文档。

你还可以像对任何其他 Spring Bean 一样,注入一个自动配置的 LdapTemplate 实例,如下面示例所示:

d1643d1e1bb30f48862a97dc6b1103e4.png
@Componentpublic class MyBean {    private final LdapTemplate template;    @Autowired    public MyBean(LdapTemplate template) {        this.template = template;    }    // ...}

32.9.3、嵌入式内存 LDAP 服务器

出于测试目的,Spring Boot 支持从 UnboundID 自动配置内存中的 LDAP 服务器。要配置服务器,请向 com.unboundid:unboundid-ldapsdk 添加依赖项并声明 base-dn 属性,如下所示:

spring.ldap.embedded.base-dn=dc=spring,dc=io

注释:

但是,可以定义多个 base-dn 值,因为可分辨名称通常包含逗号,所以必须使用正确的表示法定义它们。

在 yaml 文件中,可以使用 yaml 列表表示法:

d47325be4e6da1d0deaa0b334b88adc8.png
spring.ldap.embedded.base-dn:  - dc=spring,dc=io  - dc=pivotal,dc=io

在属性文件中,必须将索引包含在属性名中:

9b18dafa7174ddf7e483a2d0b97fae3a.png
spring.ldap.embedded.base-dn[0]=dc=spring,dc=iospring.ldap.embedded.base-dn[1]=dc=pivotal,dc=io

默认情况下,服务器在随机端口上启动并触发常规 LDAP 支持。不需要指定 spring.ldap.url 属性。

如果类路径上有 schema.ldif 文件,则它用于初始化服务器。如果要从其他资源加载初始化脚本,还可以使用 spring.ldap.embedded.ldif 属性。

默认情况下,标准模式用于验证 LDIF 文件。通过设置 spring.ldap.embedded.validation.enabled 属性,可以完全关闭验证。如果有自定义属性,则可以使用 spring.ldap.embedded.validation.schema 定义自定义属性类型或对象类。

32.10、InfluxDB

InfluxDB 是一个开源的时间序列数据库,针对操作监控、应用程序度量、物联网(Internet-of-Things)传感器数据和实时分析等领域的时间序列数据的快速、高可用性存储和检索进行了优化。

32.10.1、连接到 InfluxDB

Spring Boot 自动配置 InfluxDB 实例,前提是 influxdb-java 客户端位于类路径上,并且设置了数据库的 URL,如下面示例所示:

spring.influx.url=https://172.0.0.1:8086

如果到 InfluxDB 的连接需要用户和密码,则可以相应地设置 spring.influx.user 和 spring.influx.password 属性。

InfluxDB 依赖于 OKHttp。如果需要优化 InfluxDB 在后台使用的 http 客户端,可以注册 InfluxDbOkHttpClientBuilderProvider bean。

上一篇[32.6Elasticsearch、Cassandra]

下一篇[未完待续]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值