The Shibboleth IdP V3 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only. See the IDP4 wiki space for current documentation on the supported version.

ApplicationManagedConnection

The <ApplicationManagedConnection> element explicitly describes a JDBC connection via a custom syntax. Two significant limitations of this approach are that the only pooling implementation explicitly supported is c3p0, which is known to be buggy, and that the connection is specific to the surrounding data connector, and thus not shared by multiple connectors for efficiency.

We suggest the use of externally defined connections using the <BeanManagedConnection> element to address both issues.

Deprecated

This element is deprecated in V3.4 and will be removed in V4


Schema Name and Location

This element is defined by the urn:mace:shibboleth:2.0:resolver schema, which is located at http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd.

Example

<ApplicationManagedConnection
        jdbcDriver="org.hsqldb.jdbc.JDBCDriver" jdbcURL="jdbc:hsqldb:mem:RDBMSDataConnectorStore"
        jdbcUserName="jdbcUser" jdbcPassword="Whatever" />

Attributes

NameTypeDefaultDescription

jdbcDriver

string, required
Class name of the JDBC driver used to connect to the database

jdbcURL

string, required

JDBC URL to connect to. These are usually of the form jdbc:databaseProduceName:databaseSpecificInformation

jdbcUserName

string
The username to use to communicate with the database

jdbcPassword

string
The password to use to communicate with the database
The attributes below are a built-in way of configuring a c3p0 connection pool around the underlying data source.

poolAcquireIncrement

integer 3Number of new connections that will be created when the pool is exhausted

poolAcquireRetryAttempts

integer 36Number of times the pool will try to establish a connection to a database

poolAcquireRetryDelay

integer (milliseconds)5000 

Amount of time, in milliseconds, the pool will wait before trying to retrieve a new connection (Note: this cannot be specified as an XML duration)

poolBreakAfterAcquireFailure

booleantrueWhether the pool should be marked as permanently unavailable if a new connection cannot be established after the poolAcquireRetryAttempts value is reached

poolMinSize

integer2 Minimum number of connections the pool will maintain with the database. A value of zero means there is no minimum.

poolMaxSize

integer50 Maximum number of connections a pool will maintain at any given time.

poolMaxIdleTime

integer (seconds) 600Seconds a connection can remain pooled but unused before being discarded. Zero means idle connections never expire (Note: this cannot be specified as an XML duration)

poolIdleTestPeriod

integer (seconds) 180

Delay between testing of all idle, pooled but unchecked-out connections. Zero means never check. (see here) (Note: this cannot be specified as an XML duration)

Child Elements

No child elements are defined.