Spring Boot LDAP-用于自动配置的池属性



在Spring Boot中,我可以传递将被选择用于自动配置的属性:

  • 弹簧.ldap.url
  • spring.ldap.username
  • 弹簧.ldap.password

是否有任何spring.ldap.*属性可以设置pooled=true以避免使用显式LdapTemplate配置?

LdapContextSource contextSource = new LdapContextSource();
contextSource.setPooled(true);

根据列出所有Spring Boot属性的附录,没有。我还查看了在运行时存储这些值的LdapProperties类,但没有发现任何有助于池化的内容。我怀疑你将不得不继续手动操作。

也许会对他们进行公关?如果社区有需要,他们似乎愿意添加内容。

我读到的所有内容都建议使用PoolingContextSource进行配置。LDAP身份验证过程需要一个有问题的两阶段过程。以下内容来自Spring LDAP大师Mattias Hellborg Arthursson的博客。

内置JNDI连接池

ContextSource的pooled属性先前已默认为true,默认情况下启用内置的Java LDAP连接池。然而内置的LDAP连接池存在几个不足(最值得注意的是,没有方法进行连接验证和配置很麻烦),这就是为什么我们决定更改默认为false。如果您需要连接池,我们强烈建议建议改用Spring LDAP PoolingContextSource。

https://blog.jayway.com/2008/10/27/whats-new-in-spring-ldap-13/

https://docs.spring.io/spring-ldap/docs/1.3.2.RELEASE/reference/html/pooling.html

您可以使用JVM参数设置ldap池属性。您可以在启动应用程序时指定它们。

例如:

-Dcom.sun.jndi.ldap.connect.pool.maxsize=10 
-Dcom.sun.jndi.ldap.connect.pool.prefsize=5 
-Dcom.sun.jndi.ldap.connect.pool.timeout=300000

相关内容

  • 没有找到相关文章

最新更新