Platform Explorer / Nuxeo Platform 5.8

Component org.nuxeo.runtime.datasource

Documentation

Component use to register datasources.

Example contribution:

    <datasource driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
        maxActive="20" maxIdle="5" maxWait="10000" name="jdbc/foo">
        <property name="url">jdbc:derby:/home/db;create=true</property>
        <property name="username">nuxeo</property>
        <property name="password">nuxeo</property>
    </datasource>

Or, for a XA datasource:

    <datasource maxActive="20" maxIdle="5" maxWait="10000"
        name="jdbc/foo" xaDataSource="org.apache.derby.jdbc.EmbeddedXADataSource">
        <property name="databaseName">/home/db</property>
        <property name="createDatabase">create</property>
        <property name="user">nuxeo</property>
        <property name="password">nuxeo</property>
    </datasource>

The allowed attributes of a datasource element are:

  • name the JNDI name (for instance jdbc/foo)
  • driverClassName the JDBC driver class name (only for a non-XA datasource)
  • xaDataSource the XA datasource class name (only for a XA datasource)

To configure the characteristics of the pool:

  • maxActive the maximum number of active connections
  • minIdle the minimum number of idle connections
  • maxIdle the maximum number of idle connections
  • maxWait the maximum number of milliseconds to wait for a connection to be available, or -1 (the default) to wait indefinitely
  • ... see org.apache.commons.dbcp.BasicDataSource setters for more.

To configure the datasource, individual property sub-elements must be used. For a non-XA datasource, url , username and password

are commonly used. For a XA datasource, the properties are done according to the JavaBean setters of the datasource, see the documentation for your JDBC driver for more.

Implementation

Extension Points

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.runtime.datasource">
  <documentation>
    Component use to register datasources.

    Example contribution:

    <code>
      <datasource name="jdbc/foo" driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
          maxActive="20" maxIdle="5" maxWait="10000">
        <property name="url">jdbc:derby:/home/db;create=true</property>
        <property name="username">nuxeo</property>
        <property name="password">********</property>
      </datasource>
    </code>

    Or, for a XA datasource:

    <code>
      <datasource name="jdbc/foo" xaDataSource="org.apache.derby.jdbc.EmbeddedXADataSource"
          maxActive="20" maxIdle="5" maxWait="10000">
        <property name="databaseName">/home/db</property>
        <property name="createDatabase">create</property>
        <property name="user">nuxeo</property>
        <property name="password">********</property>
      </datasource>
    </code>

    The allowed attributes of a <b>datasource</b> element are:
    <ul>
      <li>
        <b>name</b>
        the JNDI name (for instance <tt>jdbc/foo</tt>)
      </li>
      <li>
        <b>driverClassName</b>
        the JDBC driver class name (only for a non-XA datasource)
      </li>
      <li>
        <b>xaDataSource</b>
        the XA datasource class name (only for a XA datasource)
      </li>
    </ul>
    <p />
    To configure the characteristics of the pool:
    <ul>
      <li>
        <b>maxActive</b>
        the maximum number of active connections
      </li>
      <li>
        <b>minIdle</b>
        the minimum number of idle connections
      </li>
      <li>
        <b>maxIdle</b>
        the maximum number of idle connections
      </li>
      <li>
        <b>maxWait</b>
        the maximum number of milliseconds to wait for a connection to
        be available, or -1 (the default) to wait indefinitely
      </li>
      <li>
        ... see org.apache.commons.dbcp.BasicDataSource setters for more.
      </li>
    </ul>
    <p />
    To configure the datasource, individual property sub-elements must be used.
    For a non-XA datasource, <b>url</b>, <b>username</b> and <b>password</b>
    are commonly used. For a XA datasource, the properties are done according
    to the JavaBean setters of the datasource, see the documentation for your
    JDBC driver for more.
  </documentation>

  <implementation class="org.nuxeo.runtime.datasource.DataSourceComponent" />

  <extension-point name="datasources">
    <object class="org.nuxeo.runtime.datasource.DataSourceDescriptor" />
    <object class="org.nuxeo.runtime.datasource.DataSourceLinkDescriptor" />
  </extension-point>

</component>