代码之家  ›  专栏  ›  技术社区  ›  Justinas Jakavonis

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

  •  0
  • Justinas Jakavonis  · 技术社区  · 6 年前

    • spring.ldap.url
    • spring.ldap.username
    • spring.ldap.password

    有吗 spring.ldap.* 要设置的属性 pooled=true 要避免使用显式LdapTemplate配置?

    LdapContextSource contextSource = new LdapContextSource();
    contextSource.setPooled(true);
    
    3 回复  |  直到 6 年前
        1
  •  2
  •   Todd    6 年前

    根据 the Appendix 这列出了所有的Spring启动属性,没有。我还查看了 LdapProperties 类,该类在运行时存储这些值,但在其中看不到任何有助于池化的内容。我想你必须继续手动操作。

    也许对他们进行公关?如果社区有需要,他们似乎愿意添加一些东西。

        2
  •  0
  •   MikeM    6 年前

    可以使用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
    
        3
  •  0
  •   Reenactor Rob    6 年前

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

    内置JNDI连接池

    ContextSource的Poolled属性以前默认为true, 默认情况下启用内置Java LDAP连接池。然而 内置的LDAP连接池存在一些缺陷 (最值得注意的是,没有进行连接验证和 配置很麻烦),这就是为什么我们决定更改 默认为false。如果您需要连接池,我们强烈建议 建议改用SpringLDAP池ContextSource。

    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