LDAP-157: Fixed package structure docs and images. Also corrected pooling default value.

This commit is contained in:
Ulrik Sandberg
2009-01-08 14:32:50 +00:00
parent 4fe61840d6
commit b68a01c628
4 changed files with 61 additions and 32 deletions

View File

@@ -97,9 +97,10 @@
if it is <literal>true</literal>, Spring LDAP will try to shutdown the TLS channel gracefully
before closing the target context.</para>
<para><note><para>When working with TLS connections you need to explicitly turn off
the native LDAP Pooling functionality by setting the <literal>pooled</literal> property to <literal>false</literal>,
particularly if <literal>shutdownTlsGracefully</literal> is set to <literal>false</literal>.
<para><note><para>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 <literal>pooled</literal> property to <literal>false</literal>. This is
particularly important if <literal>shutdownTlsGracefully</literal> is set to <literal>false</literal>.
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 <xref linkend="pooling" />.
</para></note></para>
@@ -206,16 +207,16 @@
<para>The internal Java LDAP provider provides some very basic pooling capabilities.
This LDAP connection pooling can be turned on/off using the
<literal>pooled</literal> flag on <literal>AbstractContextSource</literal>.
The default value is <literal>true</literal>, i.e. the native Java LDAP pooling will be turned on.
The configuration of LDAP connection pooling is managed using
The default value is <literal>false</literal> (since release 1.3), i.e. the native
Java LDAP pooling will be turned on. The configuration of LDAP connection pooling is managed using
<literal>System</literal> properties, so this needs to be handled
manually, outside of the Spring Context configuration. Details of the native pooling configuration
can be found <ulink url="http://java.sun.com/products/jndi/tutorial/ldap/connect/config.html">here</ulink>.
</para>
<para><note>
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 <xref linkend="pooling" />. If pooling functionality is required this is the
which is why Spring LDAP provides a more sophisticated approach to LDAP connection pooling,
described in <xref linkend="pooling" />. If pooling functionality is required, this is the
recommended approach.</note></para>
</sect2>
<sect2 id="context-source-advanced">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -163,7 +163,7 @@ public class PersonDaoImpl implements PersonDao {
<itemizedlist spacing="compact">
<listitem>
<para><emphasis>spring-ldap</emphasis> (the Spring LDAP library)</para>
<para><emphasis>spring-ldap-core</emphasis> (the Spring LDAP library)</para>
</listitem>
<listitem>
@@ -191,22 +191,20 @@ public class PersonDaoImpl implements PersonDao {
are required for certain functionality:</para>
<itemizedlist>
<listitem>
<para><emphasis>acegi-security</emphasis> (For Acegi security integration using <literal>AcegiAuthenticationSource</literal>)</para>
</listitem>
<listitem>
<para><emphasis>spring-context</emphasis> (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.)</para>
</listitem>
<listitem>
<para><emphasis>spring-dao</emphasis> (If you are planning to use the client side compensating transaction support)</para>
<para><emphasis>spring-tx</emphasis> (If you are planning to use the client side compensating transaction support)</para>
</listitem>
<listitem>
<para><emphasis>spring-jdbc</emphasis> (If you are planning to use the client side compensating transaction support)</para>
</listitem>
<listitem>
<para><emphasis>ldapbp</emphasis> (Sun LDAP Booster Pack - if you will use the LDAP v3 Server controls integration)</para>
<para><emphasis>ldapbp</emphasis> (Sun LDAP Booster Pack - if you will use the LDAP v3 Server controls integration
and you're not using Java5 or higher)</para>
</listitem>
<listitem>
<para><emphasis>commons-pool</emphasis> (If you are planning to use the pooling functionality)</para>
@@ -276,7 +274,7 @@ public class PersonDaoImpl implements PersonDao {
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap, ldap.support, spring-beans,
commons-lang, commons-logging</para>
spring-core, spring-tx, commons-lang, commons-logging</para>
</listitem>
</itemizedlist>
</sect2>
@@ -289,8 +287,41 @@ public class PersonDaoImpl implements PersonDao {
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap.core, ldap.support, spring-core,
spring-beans, spring-context (optional), commons-lang, commons-logging</para>
<para>Dependencies: ldap, ldap.core, ldap.support, spring-core,
spring-beans, spring-context, commons-lang, commons-logging</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="ldap.core.simple">
<title>org.springframework.ldap.core.simple</title>
<para>The <emphasis>ldap.core.simple</emphasis> 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.</para>
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap.core</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="ldap.pool">
<title>org.springframework.ldap.pool</title>
<para>The <emphasis>ldap.pool</emphasis> 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.</para>
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap, ldap.core, spring-tx</para>
</listitem>
</itemizedlist>
</sect2>
@@ -313,13 +344,12 @@ public class PersonDaoImpl implements PersonDao {
<para>The <emphasis>ldap.authentication</emphasis> package contains an
implementation of the AuthenticationSource interface that can be used
with <ulink url="http://www.acegisecurity.org/">Acegi Security</ulink>,
as well as related helper classes.</para>
if the user should be allowed to read some information even though not
logged in.</para>
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap.core, acegi-security (optional),
spring-beans, commons-lang, commons-logging</para>
<para>Dependencies: ldap.core, spring-beans, commons-lang</para>
</listitem>
</itemizedlist>
</sect2>
@@ -330,9 +360,10 @@ public class PersonDaoImpl implements PersonDao {
<para>The <emphasis>ldap.control</emphasis> 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
<ulink url="http://java.sun.com/products/jndi/">LDAP Booster
Pack</ulink> is used to get support for controls.</para>
Pack</ulink> is used to get support for controls, unless Java5 is used.</para>
<itemizedlist spacing="compact">
<listitem>
@@ -350,7 +381,7 @@ public class PersonDaoImpl implements PersonDao {
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap.core, commons-lang</para>
<para>Dependencies: ldap.core, spring-core, commons-lang</para>
</listitem>
</itemizedlist>
</sect2>
@@ -363,7 +394,7 @@ public class PersonDaoImpl implements PersonDao {
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap, ldap.core, transaction.compensating,
<para>Dependencies: ldap.core, transaction.compensating,
spring-core, commons-lang, commons-logging</para>
</listitem>
</itemizedlist>
@@ -377,9 +408,8 @@ public class PersonDaoImpl implements PersonDao {
<itemizedlist spacing="compact">
<listitem>
<para>Dependencies: ldap, ldap.core, ldap.transaction.compensating,
ldap.transaction.compensating.support, transaction.compensating,
spring-dao (optional), spring-jdbc (optional), commons-logging</para>
<para>Dependencies: ldap, ldap.core, ldap.support, ldap.transaction.compensating,
transaction.compensating, spring-tx, spring-jdbc, spring-orm, commons-logging</para>
</listitem>
</itemizedlist>
</sect2>
@@ -397,10 +427,8 @@ public class PersonDaoImpl implements PersonDao {
</itemizedlist>
</sect2>
<para>For the exact list of jar dependencies, see the Spring LDAP <ulink
url="http://jayasoft.org/ivy">Ivy</ulink> dependency manager descriptor
located within the Spring LDAP distribution at
<literal>spring-ldap/ivy.xml</literal></para>
<para>For the exact list of jar dependencies, see the Spring LDAP Maven2
Project Object Model (POM) files in the source tree.</para>
</sect1>
<sect1 id="introduction-support">
@@ -414,4 +442,4 @@ public class PersonDaoImpl implements PersonDao {
and the project web page is <ulink
url="http://www.springframework.org/ldap">http://www.springframework.org/ldap</ulink>.</para>
</sect1>
</chapter>
</chapter>