Search code examples
ldapjndiconnection-pooling

Which LDAP JNDI provider pool settings are system properties, and which are environment properties?


Java's JNDI LDAP provider supports connection pooling, but some of the parameters are system properties set on a per-JVM level on the Java command line. Others are included in the environmental properties on the InitialLdapContext level.

What options are available? Which are system properties and which are environmental properties?


Solution

  • The LDAP Naming Service Provider for the Java Naming and Directory Interface™ (JNDI guide) has a table of system properties, but doesn't lay out the environmental ones as clearly.

    System properties (JVM-wide):

    • com.sun.jndi.ldap.connect.pool.authentication
    • com.sun.jndi.ldap.connect.pool.debug
    • com.sun.jndi.ldap.connect.pool.initsize
    • com.sun.jndi.ldap.connect.pool.maxsize
    • com.sun.jndi.ldap.connect.pool.prefsize
    • com.sun.jndi.ldap.connect.pool.protocol
    • com.sun.jndi.ldap.connect.pool.timeout

    Environment properties specified when creating context:

    • com.sun.jndi.ldap.connect.pool
    • com.sun.jndi.ldap.connect.timeout
    • com.sun.jndi.ldap.read.timeout
    • com.sun.jndi.ldap.netscape.schemaBugs
    • com.sun.jndi.ldap.trace.ber