diff --git a/src/docbkx/configuration.xml b/src/docbkx/configuration.xml index 9c5578f4..9f24cee7 100644 --- a/src/docbkx/configuration.xml +++ b/src/docbkx/configuration.xml @@ -97,9 +97,10 @@ if it is true, Spring LDAP will try to shutdown the TLS channel gracefully before closing the target context. - When working with TLS connections you need to explicitly turn off - the native LDAP Pooling functionality by setting the pooled property to false, - particularly if shutdownTlsGracefully is set to false. + When working with TLS connections you need to make sure that the native LDAP + Pooling functionality is turned off. As of release 1.3, the default setting is off. For earlier + versions, simply set the pooled property to false. This is + particularly important if shutdownTlsGracefully is set to false. However, since the TLS channel negotiation process is quite expensive, great performance benefits will be gained by using the Spring LDAP Pooling Support, described in . @@ -206,16 +207,16 @@ The internal Java LDAP provider provides some very basic pooling capabilities. This LDAP connection pooling can be turned on/off using the pooled flag on AbstractContextSource. - The default value is true, i.e. the native Java LDAP pooling will be turned on. - The configuration of LDAP connection pooling is managed using + The default value is false (since release 1.3), i.e. the native + Java LDAP pooling will be turned on. The configuration of LDAP connection pooling is managed using System properties, so this needs to be handled manually, outside of the Spring Context configuration. Details of the native pooling configuration can be found here. There are several serious deficiencies in the built-in LDAP connection pooling, - which is why spring LDAP provides a more sophisticated approach to LDAP connection pooling, - described in . If pooling functionality is required this is the + which is why Spring LDAP provides a more sophisticated approach to LDAP connection pooling, + described in . If pooling functionality is required, this is the recommended approach. diff --git a/src/docbkx/images/package-dependencies.png b/src/docbkx/images/package-dependencies.png index 765b3e00..91ae4af6 100644 Binary files a/src/docbkx/images/package-dependencies.png and b/src/docbkx/images/package-dependencies.png differ diff --git a/src/docbkx/images/package-structure.png b/src/docbkx/images/package-structure.png deleted file mode 100644 index 253a0191..00000000 Binary files a/src/docbkx/images/package-structure.png and /dev/null differ diff --git a/src/docbkx/overview.xml b/src/docbkx/overview.xml index dbd53f14..9045f5a9 100644 --- a/src/docbkx/overview.xml +++ b/src/docbkx/overview.xml @@ -163,7 +163,7 @@ public class PersonDaoImpl implements PersonDao { - spring-ldap (the Spring LDAP library) + spring-ldap-core (the Spring LDAP library) @@ -191,22 +191,20 @@ public class PersonDaoImpl implements PersonDao { are required for certain functionality: - - acegi-security (For Acegi security integration using AcegiAuthenticationSource) - spring-context (If your application is wired up using the Spring Application Context - adds the ability for application objects to obtain resources using a consistent API. Definitely needed if you are planning on using the BaseLdapPathBeanPostProcessor.) - spring-dao (If you are planning to use the client side compensating transaction support) + spring-tx (If you are planning to use the client side compensating transaction support) spring-jdbc (If you are planning to use the client side compensating transaction support) - ldapbp (Sun LDAP Booster Pack - if you will use the LDAP v3 Server controls integration) + ldapbp (Sun LDAP Booster Pack - if you will use the LDAP v3 Server controls integration + and you're not using Java5 or higher) commons-pool (If you are planning to use the pooling functionality) @@ -276,7 +274,7 @@ public class PersonDaoImpl implements PersonDao { Dependencies: ldap, ldap.support, spring-beans, - commons-lang, commons-logging + spring-core, spring-tx, commons-lang, commons-logging @@ -289,8 +287,41 @@ public class PersonDaoImpl implements PersonDao { - Dependencies: ldap.core, ldap.support, spring-core, - spring-beans, spring-context (optional), commons-lang, commons-logging + Dependencies: ldap, ldap.core, ldap.support, spring-core, + spring-beans, spring-context, commons-lang, commons-logging + + + + + + org.springframework.ldap.core.simple + + The ldap.core.simple package contains + Java5-specific parts of Spring LDAP. It's mainly a simplification + layer that takes advantage of the generics support in Java5, in + order to get typesafe context mappers as well as typesafe search + and lookup methods. + + + + Dependencies: ldap.core + + + + + + org.springframework.ldap.pool + + The ldap.pool package contains + support for detailed pool configuration on a per-ContextSource + basis. Pooling support is provided by PoolingContextSource which + can wrap any ContextSource and pool both read-only and read-write + DirContext objects. Jakarta Commons-Pool is used to provide the + underlying pool implementation. + + + + Dependencies: ldap, ldap.core, spring-tx @@ -313,13 +344,12 @@ public class PersonDaoImpl implements PersonDao { The ldap.authentication package contains an implementation of the AuthenticationSource interface that can be used - with Acegi Security, - as well as related helper classes. + if the user should be allowed to read some information even though not + logged in. - Dependencies: ldap.core, acegi-security (optional), - spring-beans, commons-lang, commons-logging + Dependencies: ldap.core, spring-beans, commons-lang @@ -330,9 +360,10 @@ public class PersonDaoImpl implements PersonDao { The ldap.control package contains an abstract implementation of the DirContextProcessor interface that can be used as a basis for processing RequestControls and ResponseControls. There is - also a concrete implementation that handles paged search results. The + also a concrete implementation that handles paged search results and one + that handles sorting. The LDAP Booster - Pack is used to get support for controls. + Pack is used to get support for controls, unless Java5 is used. @@ -350,7 +381,7 @@ public class PersonDaoImpl implements PersonDao { - Dependencies: ldap.core, commons-lang + Dependencies: ldap.core, spring-core, commons-lang @@ -363,7 +394,7 @@ public class PersonDaoImpl implements PersonDao { - Dependencies: ldap, ldap.core, transaction.compensating, + Dependencies: ldap.core, transaction.compensating, spring-core, commons-lang, commons-logging @@ -377,9 +408,8 @@ public class PersonDaoImpl implements PersonDao { - Dependencies: ldap, ldap.core, ldap.transaction.compensating, - ldap.transaction.compensating.support, transaction.compensating, - spring-dao (optional), spring-jdbc (optional), commons-logging + Dependencies: ldap, ldap.core, ldap.support, ldap.transaction.compensating, + transaction.compensating, spring-tx, spring-jdbc, spring-orm, commons-logging @@ -397,10 +427,8 @@ public class PersonDaoImpl implements PersonDao { - For the exact list of jar dependencies, see the Spring LDAP Ivy dependency manager descriptor - located within the Spring LDAP distribution at - spring-ldap/ivy.xml + For the exact list of jar dependencies, see the Spring LDAP Maven2 + Project Object Model (POM) files in the source tree. @@ -414,4 +442,4 @@ public class PersonDaoImpl implements PersonDao { and the project web page is http://www.springframework.org/ldap. - \ No newline at end of file +