Fix XSD Schemas

Previously the schemas had been improperly merged into the
spring-ldap-2.0.xsd

This commit properly separates the schemas into their own versions.

Fixes gh-406
This commit is contained in:
Rob Winch
2016-10-04 10:10:04 -05:00
parent 1e542f3381
commit c5388bcb5d
4 changed files with 1395 additions and 240 deletions

View File

@@ -1,2 +1,4 @@
http\://www.springframework.org/schema/ldap/spring-ldap.xsd=org/springframework/ldap/config/spring-ldap-2.0.xsd
http\://www.springframework.org/schema/ldap/spring-ldap-2.0.xsd=org/springframework/ldap/config/spring-ldap-2.0.xsd
http\://www.springframework.org/schema/ldap/spring-ldap.xsd=org/springframework/ldap/config/spring-ldap-2.2.xsd
http\://www.springframework.org/schema/ldap/spring-ldap-2.0.xsd=org/springframework/ldap/config/spring-ldap-2.0.xsd
http\://www.springframework.org/schema/ldap/spring-ldap-2.1.xsd=org/springframework/ldap/config/spring-ldap-2.1.xsd
http\://www.springframework.org/schema/ldap/spring-ldap-2.2.xsd=org/springframework/ldap/config/spring-ldap-2.2.xsd

View File

@@ -105,7 +105,7 @@
</xs:attributeGroup>
<xs:attributeGroup name="pooling.attlist">
<xs:attribute name="max-active" type="xs:string">
<xs:attribute name="max-active" type="xs:integer">
<xs:annotation>
<xs:documentation>
The maximum number of active connections of each type (read-only|read-write)
@@ -114,7 +114,7 @@
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-total" type="xs:string">
<xs:attribute name="max-total" type="xs:integer">
<xs:annotation>
<xs:documentation>
The overall maximum number of active connections (for all types) that can be allocated from
@@ -122,7 +122,7 @@
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-idle" type="xs:string">
<xs:attribute name="max-idle" type="xs:integer">
<xs:annotation>
<xs:documentation>
The maximum number of active connections of each type (read-only|read-write) that can remain idle in the pool,
@@ -130,7 +130,7 @@
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-idle" type="xs:string">
<xs:attribute name="min-idle" type="xs:integer">
<xs:annotation>
<xs:documentation>
The minimum number of active connections of each type (read-only|read-write) that can remain
@@ -138,7 +138,7 @@
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-wait" type="xs:string">
<xs:attribute name="max-wait" type="xs:integer">
<xs:annotation>
<xs:documentation>
The maximum number of milliseconds that the pool will wait (when there are no available connections)
@@ -206,7 +206,7 @@
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-run-interval-millis" type="xs:string">
<xs:attribute name="eviction-run-interval-millis" type="xs:int">
<xs:annotation>
<xs:documentation>
The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive,
@@ -214,7 +214,7 @@
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="tests-per-eviction-run" type="xs:string">
<xs:attribute name="tests-per-eviction-run" type="xs:int">
<xs:annotation>
<xs:documentation>
The number of objects to examine during each run of the idle object evictor thread (if any).
@@ -222,7 +222,7 @@
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-evictable-time-millis" type="xs:string">
<xs:attribute name="min-evictable-time-millis" type="xs:int">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible
@@ -262,209 +262,6 @@
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="pooling2.attlist">
<xs:attribute name="max-total" type="xs:string">
<xs:annotation>
<xs:documentation>
The overall maximum number of active connections (for all types) that can be allocated from
this pool at the same time, or non-positive for no limit. Default is -1 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-total-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The limit on the number of object instances allocated by the pool (checked out or idle),
per key. When the limit is reached, the sub-pool is said to be exhausted. A negative value
indicates no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-idle-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of active connections per type (read-only|read-write) that can remain idle in the pool,
without extra ones being released, or non-positive for no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-idle-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum number of active connections per type (read-only|read-write) that can remain
idle in the pool, without extra ones being created, or zero to create none. Default is 0.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-wait" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of milliseconds that the pool will wait (when there are no available connections)
for a connection to be returned before throwing an exception, or non-positive to wait indefinitely.
Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="block-when-exhausted" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets to wait until a new object is available. If max-wait is positive a NoSuchElementException
is thrown if no new object is available after the maxWait time expires. Default is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-create" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether objects created for the pool will be validated before borrowing. If the object
fails to validate, then borrowing will fail. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-borrow" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being borrowed from the pool.
If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-return" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being returned to the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-while-idle" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated by the idle object evictor (if any).
If an object fails to validate, it will be dropped from the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-run-interval-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive,
no idle object evictor thread will be run. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="tests-per-eviction-run" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of objects to examine during each run of the idle object evictor thread (if any).
Default is 3.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-evictable-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible
for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="soft-min-evictable-idle-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible for
eviction by the idle object evictor, with the extra condition that at least minimum number
of object instances per key remain in the pool. This settings is overridden by min-evictable-time-millis if
it is set to a positive value. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-policy-class" type="xs:string">
<xs:annotation>
<xs:documentation>
The name of the eviction policy implementation that is used by this pool. The Pool will
attempt to load the class using the thread context class loader. If that fails, the Pool
will attempt to load the class using the class loader that loaded this class. Default is
org.apache.commons.pool2.impl.DefaultEvictionPolicy.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fairness" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether or not the pool serves threads waiting to borrow connections fairly.
True means that waiting threads are served as if waiting in a FIFO queue. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-enable" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether JMX will be enabled with the platform MBean server for the pool. Default
is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-name-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The value of the JMX name base that will be used as part of the name assigned
to JMX enabled pools. Default is null.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-name-prefix" type="xs:string">
<xs:annotation>
<xs:documentation>
The value of the JMX name prefix that will be used as part of the name assigned
to JMX enabled pools. Default value is pool.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="lifo" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether the pool has LIFO (last in, first out) behaviour with
respect to idle objects - always returning the most recently used object
from the pool, or as a FIFO (first in, first out) queue, where the pool
always returns the oldest object in the idle object pool. Default is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The base dn to use for validation searches. Default is LdapUtils.emptyPath().
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-filter" type="xs:string">
<xs:annotation>
<xs:documentation>
The filter to use for validation queries. Default is (objectclass=*).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-search-controls-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="non-transient-exceptions" type="xs:string">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="context-source">
<xs:annotation>
<xs:documentation>
@@ -472,32 +269,18 @@
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:sequence>
<xs:element name="pooling">
<xs:annotation>
<xs:documentation>
Defines the settings to use for the Spring LDAP connection pooling support.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:pooling.attlist" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="pooling2">
<xs:annotation>
<xs:documentation>
Defines the settings to use for the Spring LDAP connection pooling support based on commons-pool2 library.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:pooling2.attlist" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:sequence minOccurs="0" maxOccurs="1">
<xs:element name="pooling">
<xs:annotation>
<xs:documentation>
Defines the settings to use for the Spring LDAP connection pooling support.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:pooling.attlist" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attributeGroup ref="ldap:context-source.attlist" />
</xs:complexType>
</xs:element>
@@ -682,4 +465,4 @@
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>
</xs:schema>

View File

@@ -0,0 +1,685 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ldap="http://www.springframework.org/schema/ldap"
xmlns:repository="http://www.springframework.org/schema/data/repository"
elementFormDefault="qualified"
targetNamespace="http://www.springframework.org/schema/ldap">
<xs:import namespace="http://www.springframework.org/schema/data/repository"
schemaLocation="http://www.springframework.org/schema/data/repository/spring-repository.xsd" />
<xs:attributeGroup name="context-source.attlist">
<xs:attribute name="id" type="xs:token">
<xs:annotation>
<xs:documentation>
A bean identifier, used for referring to the bean elsewhere in the context.
&quot;contextSource&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="anonymous-read-only" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Defines whether read-only operations will be performed using an anonymous (unauthenticated) context.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="authentication-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the AuthenticationSource instance to use. If not specified, a SimpleAuthenticationSource will
be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="authentication-strategy-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the DirContextAuthenticationStrategy instance to use. If not specified, a SimpleDirContextAuthenticationStrategy
will be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="base" type="xs:string">
<xs:annotation>
<xs:documentation>
The base DN. If configured, all LDAP operations on contexts retrieved from this ContextSource will
be relative to this DN. Default is an empty distinguished name (i.e. all operations will be
relative to the directory root).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="password" type="xs:string">
<xs:annotation>
<xs:documentation>
The password to use for authentication.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="native-pooling" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Specify whether native Java LDAP connection pooling should be used. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="referral">
<xs:annotation>
<xs:documentation>
Defines the strategy to handle referrals, as described on http://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html.
Default is null.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="ignore" />
<xs:enumeration value="follow" />
<xs:enumeration value="throw" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="url" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
URL of the LDAP server to use. If fail-over functionality is desired, more than one URL can
be specified, separated using comma (,).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="username" type="xs:string">
<xs:annotation>
<xs:documentation>
The username (principal) to use for authentication. This will normally be the distinguished name
of an admin user.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="base-env-props-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Reference to a Map of custom environment properties that should supplied with the environment
sent to the DirContext on construction.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="pooling.attlist">
<xs:attribute name="max-active" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of active connections of each type (read-only|read-write)
that can be allocated from the pool at the same time, or non-positive for no limit.
Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-total" type="xs:string">
<xs:annotation>
<xs:documentation>
The overall maximum number of active connections (for all types) that can be allocated from
this pool at the same time, or non-positive for no limit. Default is -1 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-idle" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of active connections of each type (read-only|read-write) that can remain idle in the pool,
without extra ones being released, or non-positive for no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-idle" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum number of active connections of each type (read-only|read-write) that can remain
idle in the pool, without extra ones being created, or zero to create none. Default is 0.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-wait" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of milliseconds that the pool will wait (when there are no available connections)
for a connection to be returned before throwing an exception, or non-positive to wait indefinitely.
Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="when-exhausted">
<xs:annotation>
<xs:documentation>
Specifies the behaviour when the pool is exhausted.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="FAIL">
<xs:annotation>
<xs:documentation>
Throw a NoSuchElementException when the pool is exhausted
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BLOCK">
<xs:annotation>
<xs:documentation>
Wait until a new object is available. If max-wait is positive a NoSuchElementException
is thrown if no new object is available after the maxWait time expires.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="GROW">
<xs:annotation>
<xs:documentation>
Create and return a new object (essentially making maxActive meaningless).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="test-on-borrow" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being borrowed from the pool.
If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-return" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being returned to the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-while-idle" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated by the idle object evictor (if any).
If an object fails to validate, it will be dropped from the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-run-interval-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive,
no idle object evictor thread will be run. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="tests-per-eviction-run" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of objects to examine during each run of the idle object evictor thread (if any).
Default is 3.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-evictable-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible
for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The base dn to use for validation searches. Default is LdapUtils.emptyPath().
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-filter" type="xs:string">
<xs:annotation>
<xs:documentation>
The filter to use for validation queries. Default is (objectclass=*).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-search-controls-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="non-transient-exceptions" type="xs:string">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="pooling2.attlist">
<xs:attribute name="max-total" type="xs:string">
<xs:annotation>
<xs:documentation>
The overall maximum number of active connections (for all types) that can be allocated from
this pool at the same time, or non-positive for no limit. Default is -1 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-total-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The limit on the number of object instances allocated by the pool (checked out or idle),
per key. When the limit is reached, the sub-pool is said to be exhausted. A negative value
indicates no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-idle-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of active connections per type (read-only|read-write) that can remain idle in the pool,
without extra ones being released, or non-positive for no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-idle-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum number of active connections per type (read-only|read-write) that can remain
idle in the pool, without extra ones being created, or zero to create none. Default is 0.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-wait" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of milliseconds that the pool will wait (when there are no available connections)
for a connection to be returned before throwing an exception, or non-positive to wait indefinitely.
Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="block-when-exhausted" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets to wait until a new object is available. If max-wait is positive a NoSuchElementException
is thrown if no new object is available after the maxWait time expires..
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-create" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether objects created for the pool will be validated before borrowing. If the object
fails to validate, then borrowing will fail. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-borrow" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being borrowed from the pool.
If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-return" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being returned to the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-while-idle" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated by the idle object evictor (if any).
If an object fails to validate, it will be dropped from the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-run-interval-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive,
no idle object evictor thread will be run. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="tests-per-eviction-run" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of objects to examine during each run of the idle object evictor thread (if any).
Default is 3.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-evictable-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible
for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="soft-min-evictable-idle-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible for
eviction by the idle object evictor, with the extra condition that at least minimum number
of object instances per key remain in the pool. This settings is overridden by min-evictable-time-millis if
it is set to a positive value. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-policy-class" type="xs:string">
<xs:annotation>
<xs:documentation>
The name of the eviction policy implementation that is used by this pool. The Pool will
attempt to load the class using the thread context class loader. If that fails, the Pool
will attempt to load the class using the class loader that loaded this class. Default is
org.apache.commons.pool2.impl.DefaultEvictionPolicy.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fairness" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether or not the pool serves threads waiting to borrow connections fairly.
True means that waiting threads are served as if waiting in a FIFO queue. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-enable" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether JMX will be enabled with the platform MBean server for the pool. Default
is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-name-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The value of the JMX name base that will be used as part of the name assigned
to JMX enabled pools. Default is null.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-name-prefix" type="xs:string">
<xs:annotation>
<xs:documentation>
The value of the JMX name prefix that will be used as part of the name assigned
to JMX enabled pools. Default value is pool.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="lifo" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether the pool has LIFO (last in, first out) behaviour with
respect to idle objects - always returning the most recently used object
from the pool, or as a FIFO (first in, first out) queue, where the pool
always returns the oldest object in the idle object pool. Default is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The base dn to use for validation searches. Default is LdapUtils.emptyPath().
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-filter" type="xs:string">
<xs:annotation>
<xs:documentation>
The filter to use for validation queries. Default is (objectclass=*).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-search-controls-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="non-transient-exceptions" type="xs:string">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="context-source">
<xs:annotation>
<xs:documentation>
Creates a ContextSource instance to be used to get LdapContexts for communicating with an LDAP server.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:sequence>
<xs:element name="pooling">
<xs:annotation>
<xs:documentation>
Defines the settings to use for the Spring LDAP connection pooling support.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:pooling.attlist" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="pooling2">
<xs:annotation>
<xs:documentation>
Defines the settings to use for the Spring LDAP connection pooling support based on commons-pool2 library.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:pooling2.attlist" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:attributeGroup ref="ldap:context-source.attlist" />
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ldap-template.attlist">
<xs:attribute name="id" type="xs:token">
<xs:annotation>
<xs:documentation>
A bean identifier, used for referring to the bean elsewhere in the context.
Default is &quot;ldapTemplate&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="context-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the ContextSource instance to use. Default is &quot;contextSource&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="count-limit" type="xs:integer">
<xs:annotation>
<xs:documentation>
The default count limit for searches. Default is 0 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="time-limit" type="xs:integer">
<xs:annotation>
<xs:documentation>
The default time limit for searches. Default is 0 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="search-scope">
<xs:annotation>
<xs:documentation>
The default search scope for searches. Default is SUBTREE.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="OBJECT" />
<xs:enumeration value="ONELEVEL" />
<xs:enumeration value="SUBTREE" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ignore-name-not-found" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Specifies whether NameNotFoundException should be ignored in searches. Setting this
attribute to true will cause errors caused by invalid search base to be silently swallowed.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ignore-partial-result" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Specifies whether PartialResultException should be ignored in searches. Some LDAP servers
have problems with referrals; these should normally be followed automatically, but if this
doesn't work it will manifest itself with a PartialResultException. Setting this attribute
to true presents a work-around to this problem. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="odm-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the ObjectDirectoryMapper instance to use. Default is a default-configured DefaultObjectDirectoryMapper.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="ldap-template">
<xs:annotation>
<xs:documentation>
Creates an LdapTemplate instance.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:ldap-template.attlist" />
</xs:complexType>
</xs:element>
<xs:attributeGroup name="transaction-manager.attlist">
<xs:attribute name="id" type="xs:string">
<xs:annotation>
<xs:documentation>
Id of this instance. Default is &quot;transactionManager&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="context-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the ContextSource instance to use. &quot;contextSource&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="data-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the DataSource instance to use.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="session-factory-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the Hibernate SessionFactory instance to use.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="transaction-manager">
<xs:annotation>
<xs:documentation>
Creates an ContextSourceTransactionManager. If data-source-ref or session-factory-ref is specified,
a DataSourceAndContextSourceTransactionManager/HibernateAndContextSourceTransactionManager will be
created.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="default-renaming-strategy">
<xs:annotation>
<xs:documentation>
The default (simplistic) TempEntryRenamingStrategy. Please note that this
strategy will not work for more advanced scenarios. See reference documentation
for details.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="temp-suffix" type="xs:string">
<xs:annotation>
<xs:documentation>
The default suffix that will be added to modified entries.
Default is &quot;_temp&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="different-subtree-renaming-strategy">
<xs:annotation>
<xs:documentation>
TempEntryRenamingStrategy that moves the entry to a different subtree than
the original entry.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="subtree-node" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The subtree base where changed entries should be moved.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="ldap:transaction-manager.attlist" />
</xs:complexType>
</xs:element>
<xs:element name="repositories">
<xs:complexType>
<xs:complexContent>
<xs:extension base="repository:repositories">
<xs:attribute name="ldap-template-ref">
<xs:annotation>
<xs:documentation>
The reference to an LdapTemplate. Will default to 'ldapTemplate'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -0,0 +1,685 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ldap="http://www.springframework.org/schema/ldap"
xmlns:repository="http://www.springframework.org/schema/data/repository"
elementFormDefault="qualified"
targetNamespace="http://www.springframework.org/schema/ldap">
<xs:import namespace="http://www.springframework.org/schema/data/repository"
schemaLocation="http://www.springframework.org/schema/data/repository/spring-repository.xsd" />
<xs:attributeGroup name="context-source.attlist">
<xs:attribute name="id" type="xs:token">
<xs:annotation>
<xs:documentation>
A bean identifier, used for referring to the bean elsewhere in the context.
&quot;contextSource&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="anonymous-read-only" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Defines whether read-only operations will be performed using an anonymous (unauthenticated) context.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="authentication-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the AuthenticationSource instance to use. If not specified, a SimpleAuthenticationSource will
be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="authentication-strategy-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the DirContextAuthenticationStrategy instance to use. If not specified, a SimpleDirContextAuthenticationStrategy
will be used.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="base" type="xs:string">
<xs:annotation>
<xs:documentation>
The base DN. If configured, all LDAP operations on contexts retrieved from this ContextSource will
be relative to this DN. Default is an empty distinguished name (i.e. all operations will be
relative to the directory root).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="password" type="xs:string">
<xs:annotation>
<xs:documentation>
The password to use for authentication.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="native-pooling" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Specify whether native Java LDAP connection pooling should be used. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="referral">
<xs:annotation>
<xs:documentation>
Defines the strategy to handle referrals, as described on http://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html.
Default is null.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="ignore" />
<xs:enumeration value="follow" />
<xs:enumeration value="throw" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="url" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
URL of the LDAP server to use. If fail-over functionality is desired, more than one URL can
be specified, separated using comma (,).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="username" type="xs:string">
<xs:annotation>
<xs:documentation>
The username (principal) to use for authentication. This will normally be the distinguished name
of an admin user.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="base-env-props-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Reference to a Map of custom environment properties that should supplied with the environment
sent to the DirContext on construction.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="pooling.attlist">
<xs:attribute name="max-active" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of active connections of each type (read-only|read-write)
that can be allocated from the pool at the same time, or non-positive for no limit.
Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-total" type="xs:string">
<xs:annotation>
<xs:documentation>
The overall maximum number of active connections (for all types) that can be allocated from
this pool at the same time, or non-positive for no limit. Default is -1 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-idle" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of active connections of each type (read-only|read-write) that can remain idle in the pool,
without extra ones being released, or non-positive for no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-idle" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum number of active connections of each type (read-only|read-write) that can remain
idle in the pool, without extra ones being created, or zero to create none. Default is 0.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-wait" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of milliseconds that the pool will wait (when there are no available connections)
for a connection to be returned before throwing an exception, or non-positive to wait indefinitely.
Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="when-exhausted">
<xs:annotation>
<xs:documentation>
Specifies the behaviour when the pool is exhausted.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="FAIL">
<xs:annotation>
<xs:documentation>
Throw a NoSuchElementException when the pool is exhausted
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BLOCK">
<xs:annotation>
<xs:documentation>
Wait until a new object is available. If max-wait is positive a NoSuchElementException
is thrown if no new object is available after the maxWait time expires.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="GROW">
<xs:annotation>
<xs:documentation>
Create and return a new object (essentially making maxActive meaningless).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="test-on-borrow" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being borrowed from the pool.
If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-return" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being returned to the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-while-idle" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated by the idle object evictor (if any).
If an object fails to validate, it will be dropped from the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-run-interval-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive,
no idle object evictor thread will be run. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="tests-per-eviction-run" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of objects to examine during each run of the idle object evictor thread (if any).
Default is 3.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-evictable-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible
for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The base dn to use for validation searches. Default is LdapUtils.emptyPath().
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-filter" type="xs:string">
<xs:annotation>
<xs:documentation>
The filter to use for validation queries. Default is (objectclass=*).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-search-controls-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="non-transient-exceptions" type="xs:string">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="pooling2.attlist">
<xs:attribute name="max-total" type="xs:string">
<xs:annotation>
<xs:documentation>
The overall maximum number of active connections (for all types) that can be allocated from
this pool at the same time, or non-positive for no limit. Default is -1 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-total-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The limit on the number of object instances allocated by the pool (checked out or idle),
per key. When the limit is reached, the sub-pool is said to be exhausted. A negative value
indicates no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-idle-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of active connections per type (read-only|read-write) that can remain idle in the pool,
without extra ones being released, or non-positive for no limit. Default is 8.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-idle-per-key" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum number of active connections per type (read-only|read-write) that can remain
idle in the pool, without extra ones being created, or zero to create none. Default is 0.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max-wait" type="xs:string">
<xs:annotation>
<xs:documentation>
The maximum number of milliseconds that the pool will wait (when there are no available connections)
for a connection to be returned before throwing an exception, or non-positive to wait indefinitely.
Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="block-when-exhausted" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets to wait until a new object is available. If max-wait is positive a NoSuchElementException
is thrown if no new object is available after the maxWait time expires. Default is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-create" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether objects created for the pool will be validated before borrowing. If the object
fails to validate, then borrowing will fail. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-borrow" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being borrowed from the pool.
If the object fails to validate, it will be dropped from the pool, and an attempt to borrow another will be made.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-on-return" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated before being returned to the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="test-while-idle" type="xs:boolean">
<xs:annotation>
<xs:documentation>
The indication of whether objects will be validated by the idle object evictor (if any).
If an object fails to validate, it will be dropped from the pool.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-run-interval-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of milliseconds to sleep between runs of the idle object evictor thread. When non-positive,
no idle object evictor thread will be run. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="tests-per-eviction-run" type="xs:string">
<xs:annotation>
<xs:documentation>
The number of objects to examine during each run of the idle object evictor thread (if any).
Default is 3.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="min-evictable-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible
for eviction by the idle object evictor (if any). Default is 1000 * 60 * 30.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="soft-min-evictable-idle-time-millis" type="xs:string">
<xs:annotation>
<xs:documentation>
The minimum amount of time an object may sit idle in the pool before it is eligible for
eviction by the idle object evictor, with the extra condition that at least minimum number
of object instances per key remain in the pool. This settings is overridden by min-evictable-time-millis if
it is set to a positive value. Default is -1.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="eviction-policy-class" type="xs:string">
<xs:annotation>
<xs:documentation>
The name of the eviction policy implementation that is used by this pool. The Pool will
attempt to load the class using the thread context class loader. If that fails, the Pool
will attempt to load the class using the class loader that loaded this class. Default is
org.apache.commons.pool2.impl.DefaultEvictionPolicy.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fairness" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether or not the pool serves threads waiting to borrow connections fairly.
True means that waiting threads are served as if waiting in a FIFO queue. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-enable" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether JMX will be enabled with the platform MBean server for the pool. Default
is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-name-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The value of the JMX name base that will be used as part of the name assigned
to JMX enabled pools. Default is null.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="jmx-name-prefix" type="xs:string">
<xs:annotation>
<xs:documentation>
The value of the JMX name prefix that will be used as part of the name assigned
to JMX enabled pools. Default value is pool.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="lifo" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sets whether the pool has LIFO (last in, first out) behaviour with
respect to idle objects - always returning the most recently used object
from the pool, or as a FIFO (first in, first out) queue, where the pool
always returns the oldest object in the idle object pool. Default is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-base" type="xs:string">
<xs:annotation>
<xs:documentation>
The base dn to use for validation searches. Default is LdapUtils.emptyPath().
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-filter" type="xs:string">
<xs:annotation>
<xs:documentation>
The filter to use for validation queries. Default is (objectclass=*).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validation-query-search-controls-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="non-transient-exceptions" type="xs:string">
<xs:annotation>
<xs:documentation>
Id of the SearchControls instance to use for searches. Default is searchScope=OBJECT_SCOPE;
countLimit: 1; timeLimit: 500; returningAttributes: [objectclass].
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="context-source">
<xs:annotation>
<xs:documentation>
Creates a ContextSource instance to be used to get LdapContexts for communicating with an LDAP server.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:sequence>
<xs:element name="pooling">
<xs:annotation>
<xs:documentation>
Defines the settings to use for the Spring LDAP connection pooling support.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:pooling.attlist" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="pooling2">
<xs:annotation>
<xs:documentation>
Defines the settings to use for the Spring LDAP connection pooling support based on commons-pool2 library.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:pooling2.attlist" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:attributeGroup ref="ldap:context-source.attlist" />
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ldap-template.attlist">
<xs:attribute name="id" type="xs:token">
<xs:annotation>
<xs:documentation>
A bean identifier, used for referring to the bean elsewhere in the context.
Default is &quot;ldapTemplate&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="context-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the ContextSource instance to use. Default is &quot;contextSource&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="count-limit" type="xs:integer">
<xs:annotation>
<xs:documentation>
The default count limit for searches. Default is 0 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="time-limit" type="xs:integer">
<xs:annotation>
<xs:documentation>
The default time limit for searches. Default is 0 (no limit).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="search-scope">
<xs:annotation>
<xs:documentation>
The default search scope for searches. Default is SUBTREE.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="OBJECT" />
<xs:enumeration value="ONELEVEL" />
<xs:enumeration value="SUBTREE" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ignore-name-not-found" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Specifies whether NameNotFoundException should be ignored in searches. Setting this
attribute to true will cause errors caused by invalid search base to be silently swallowed.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ignore-partial-result" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Specifies whether PartialResultException should be ignored in searches. Some LDAP servers
have problems with referrals; these should normally be followed automatically, but if this
doesn't work it will manifest itself with a PartialResultException. Setting this attribute
to true presents a work-around to this problem. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="odm-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the ObjectDirectoryMapper instance to use. Default is a default-configured DefaultObjectDirectoryMapper.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="ldap-template">
<xs:annotation>
<xs:documentation>
Creates an LdapTemplate instance.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="ldap:ldap-template.attlist" />
</xs:complexType>
</xs:element>
<xs:attributeGroup name="transaction-manager.attlist">
<xs:attribute name="id" type="xs:string">
<xs:annotation>
<xs:documentation>
Id of this instance. Default is &quot;transactionManager&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="context-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the ContextSource instance to use. &quot;contextSource&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="data-source-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the DataSource instance to use.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="session-factory-ref" type="xs:token">
<xs:annotation>
<xs:documentation>
Id of the Hibernate SessionFactory instance to use.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="transaction-manager">
<xs:annotation>
<xs:documentation>
Creates an ContextSourceTransactionManager. If data-source-ref or session-factory-ref is specified,
a DataSourceAndContextSourceTransactionManager/HibernateAndContextSourceTransactionManager will be
created.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="default-renaming-strategy">
<xs:annotation>
<xs:documentation>
The default (simplistic) TempEntryRenamingStrategy. Please note that this
strategy will not work for more advanced scenarios. See reference documentation
for details.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="temp-suffix" type="xs:string">
<xs:annotation>
<xs:documentation>
The default suffix that will be added to modified entries.
Default is &quot;_temp&quot;.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="different-subtree-renaming-strategy">
<xs:annotation>
<xs:documentation>
TempEntryRenamingStrategy that moves the entry to a different subtree than
the original entry.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="subtree-node" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The subtree base where changed entries should be moved.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="ldap:transaction-manager.attlist" />
</xs:complexType>
</xs:element>
<xs:element name="repositories">
<xs:complexType>
<xs:complexContent>
<xs:extension base="repository:repositories">
<xs:attribute name="ldap-template-ref">
<xs:annotation>
<xs:documentation>
The reference to an LdapTemplate. Will default to 'ldapTemplate'.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>