Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-4361

Provide transaction manager and connection pooling if not available

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.3 GA
    • Fix Version/s: 5.3.1
    • Component/s: Core
    • Impact type:
      Deployment change
    • Upgrade notes:
      Hide

      To provide transaction management and pooling support for Tomcat:

      • in nxserver/lib add:
        geronimo-connector-2.1.3.jar
        geronimo-transaction-2.1.3.jar
        howl-1.0.1-1.jar
      • in nxserver/bundles add:
        nuxeo-runtime-jtajca-1.6.1-SNAPSHOT.jar
        nuxeo-core-storage-sql-ra-1.6.1-SNAPSHOT.jar (and NOT .rar)
      • in nxserver/config/default-repository-config.xml replace:
        factory="org.nuxeo.ecm.core.storage.sql.coremodel.SQLRepositoryFactory"
        with:
        factory="org.nuxeo.ecm.core.storage.sql.PoolingRepositoryFactory"
      • in conf/Catalina/localhost/nuxeo.xml add:
        <Resource name="TransactionManager" auth="Container"
        type="javax.transaction.TransactionManager"
        factory="org.nuxeo.runtime.jtajca.NuxeoTransactionManagerFactory"
        transactionTimeoutSeconds="300"/>
        <Transaction factory="org.nuxeo.runtime.jtajca.NuxeoUserTransactionFactory"/>
        <Resource name="NuxeoConnectionManager" auth="Container"
        type="javax.resource.spi.ConnectionManager"
        factory="org.nuxeo.runtime.jtajca.NuxeoConnectionManagerFactory"
        minPoolSize="0" maxPoolSize="20" idleTimeoutMinutes="0"/>
      Show
      To provide transaction management and pooling support for Tomcat: in nxserver/lib add: geronimo-connector-2.1.3.jar geronimo-transaction-2.1.3.jar howl-1.0.1-1.jar in nxserver/bundles add: nuxeo-runtime-jtajca-1.6.1-SNAPSHOT.jar nuxeo-core-storage-sql-ra-1.6.1-SNAPSHOT.jar (and NOT .rar) in nxserver/config/default-repository-config.xml replace: factory="org.nuxeo.ecm.core.storage.sql.coremodel.SQLRepositoryFactory" with: factory="org.nuxeo.ecm.core.storage.sql.PoolingRepositoryFactory" in conf/Catalina/localhost/nuxeo.xml add: <Resource name="TransactionManager" auth="Container" type="javax.transaction.TransactionManager" factory="org.nuxeo.runtime.jtajca.NuxeoTransactionManagerFactory" transactionTimeoutSeconds="300"/> <Transaction factory="org.nuxeo.runtime.jtajca.NuxeoUserTransactionFactory"/> <Resource name="NuxeoConnectionManager" auth="Container" type="javax.resource.spi.ConnectionManager" factory="org.nuxeo.runtime.jtajca.NuxeoConnectionManagerFactory" minPoolSize="0" maxPoolSize="20" idleTimeoutMinutes="0"/>

      Description

      In non-JavaEE settings, make sure pooling is correctly done and that LocalSession instantiates a new low-level Session through a pool.
      Currently it hits SQLRepository.getSession but this should be a pooled factory instead.
      Make sure also that there is a transaction manager available.

      -> Use geronimo-transaction and geronimo-connector to provide a JTA/JCA framework when non is available in the container.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                fguillaume Florent Guillaume
                Reporter:
                fguillaume Florent Guillaume
                Participants:
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  PagerDuty

                  Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.