Independent extensions:

Feeds


Site
News

Container support

Here are the configurations that currently support DataSource or Resource configuration:

This page / section has been automatically generated by Cargo's build. Do not edit it directly as it'll be overwritten next time it's generated again.

Container

Configuration

Resource

DataSource

Transactional DataSource

XA DataSource

Geronimo 2.x

o.c.c.c.geronimo.Geronimo2xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

Geronimo 3.x

o.c.c.c.geronimo.Geronimo3xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

Glassfish 3.x

o.c.c.c.glassfish.GlassFish3xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(error)

Glassfish 4.x

o.c.c.c.glassfish.GlassFish4xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(error)

JBoss 3.x

o.c.c.c.jboss.JBossStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 4.x

o.c.c.c.jboss.JBossStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 4.2.x

o.c.c.c.jboss.JBoss42xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 5.x

o.c.c.c.jboss.JBoss5xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 5.1.x

o.c.c.c.jboss.JBoss51xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 6.x

o.c.c.c.jboss.JBoss6xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 6.1.x

o.c.c.c.jboss.JBoss6xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 7.x

o.c.c.c.jboss.JBoss7xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 7.1.x

o.c.c.c.jboss.JBoss71xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 7.2.x (EAP 6.1.x)

o.c.c.c.jboss.JBoss72xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 7.3.x (EAP 6.2.x)

o.c.c.c.jboss.JBoss73xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 7.4.x (EAP 6.3.x)

o.c.c.c.jboss.JBoss73xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JBoss 7.5.x (EAP 6.4.x)

o.c.c.c.jboss.JBoss75xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(error)

Jetty 7.x

o.c.c.c.jetty.Jetty7xStandaloneLocalConfiguration

(error)

(tick)

(error)

(error)

Jetty 8.x

o.c.c.c.jetty.Jetty8xStandaloneLocalConfiguration

(error)

(tick)

(error)

(error)

Jetty 9.x

o.c.c.c.jetty.Jetty9xStandaloneLocalConfiguration

(error)

(tick)

(error)

(error)

JOnAS 4.x

o.c.c.c.jonas.Jonas4xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JOnAS 5.x

o.c.c.c.jonas.Jonas5xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(error)

JRun 4.x

o.c.c.c.jrun.JRun4xExistingLocalConfiguration

(tick)

(tick)

(tick)

(tick)

Oc4J 9.x

o.c.c.c.orion.Oc4j9xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(tick)

Oc4j 10.x

o.c.c.c.orion.Oc4j10xExistingLocalConfiguration

(error)

(tick)

(tick)

(tick)

Resin 2.x

o.c.c.c.resin.Resin2xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Resin 3.x

o.c.c.c.resin.Resin3xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Resin 3.1.x

o.c.c.c.resin.Resin31xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Resin 4.x

o.c.c.c.resin.Resin4xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Tomcat 4.x

o.c.c.c.tomcat.Tomcat4xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Tomcat 5.x

o.c.c.c.tomcat.Tomcat5xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Tomcat 6.x

o.c.c.c.tomcat.Tomcat6xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Tomcat 7.x

o.c.c.c.tomcat.Tomcat7xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Tomcat 8.x

o.c.c.c.tomcat.Tomcat8xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

Tomcat 9.x

o.c.c.c.tomcat.Tomcat9xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

TomEE 1.x

o.c.c.c.tomee.Tomee1xStandaloneLocalConfiguration

(tick)

(tick)

(error)

(error)

WebLogic 8.x

o.c.c.c.weblogic.WebLogic8xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(tick)

WebLogic 9.x

o.c.c.c.weblogic.WebLogic9xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(tick)

WebLogic 10.x

o.c.c.c.weblogic.WebLogic10xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(tick)

WebLogic 10.3.x

o.c.c.c.weblogic.WebLogic103xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(tick)

WebLogic 12.x

o.c.c.c.weblogic.WebLogic12xStandaloneLocalConfiguration

(error)

(tick)

(tick)

(tick)

WebLogic 12.1.x

o.c.c.c.weblogic.WebLogic121xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(tick)

WebLogic 12.2.x

o.c.c.c.weblogic.WebLogic122xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(tick)

WebSphere 8.5.x

o.c.c.c.websphere.WebSphere85xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(error)

WebSphere Liberty

o.c.c.c.liberty.LibertyStandaloneLocalConfiguration

(error)

(tick)

(error)

(error)

WildFly 8.x

o.c.c.c.wildfly.WildFly8xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(error)

WildFly 9.x

o.c.c.c.wildfly.WildFly9xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(error)

WildFly 10.x (JBoss EAP 7.x)

o.c.c.c.wildfly.WildFly10xStandaloneLocalConfiguration

(tick)

(tick)

(tick)

(error)

Notes:

  • Datasources on the Jetty container use the c3p0 datasource pool.
  • JOnAS handles transactions for datasources using its jtm service.

DataSource properties

DataSources are added through pipe-delimited configuration properties that starts with cargo.datasource.datasource. Example:

cargo.datasource.datasource1=cargo.datasource.url=jdbc:mydriver:userdb\|cargo.datasource.driver=org.database.Driver\|...
cargo.datasource.datasource2=cargo.datasource.url=jdbc:mydriver:referencedb\|cargo.datasource.driver=org.database.Driver\|...

Here are the properties that are valid for this:

  • Note that c.d means cargo.datasource
  • Note that if you specify a property marked do not set you will get a CargoException.

Property

Purpose

Valid Values

DataSource

Transactional DataSource

XA DataSource

c.d.jndi

The path to this DataSource in JNDI

Any jndi path, like jdbc/userds

mandatory

mandatory

mandatory

c.d.driver

The implementation class

ex. my.Driver

mandatory: must implement java.sql.Driver

mandatory: must implement java.sql.Driver

mandatory: must implement javax.sql.XADataSource

c.d.properties

Properties to pass to the driver

Semi-colon delimited string

optional

optional

mandatory

c.d.url

URL for the java.sql.Driver

ex. jdbc:host:port/mydb

mandatory

mandatory

optional

c.d.type

Determines the type of the driver

Defaults to java.sql.Driver, only set if you want to use a javax.sql.XADataSource

do not set

do not set

javax.sql.XADataSource

c.d.transactionsupport

Determines transaction support type

LOCAL_TRANSACTION or XA_TRANSACTION

do not set

mandatory

unset defaults to only valid option: XA_TRANSACTION

c.d.id

Identifier used in configuration files to reference this DataSource

Must contain no path-like characters

optional

optional

optional

c.d.username

Username to connect to the database

String

optional

optional

optional

c.d.password

Password to connect to the database

String

optional

optional

optional

JMS resource properties

JMS resources (such as connection factories, queues or topics) are added through pipe-delimited configuration properties that starts with cargo.resource.resource. Example:

cargo.resource.resource.jms.cf=cargo.resource.name=jms/cf/MyCf\|cargo.resource.type=javax.jms.ConnectionFactory\|cargo.resource.id=MyCf
cargo.resource.resource.jms.queue=cargo.resource.name=jms/MyQueue\|cargo.resource.type=javax.jms.Queue\|cargo.resource.id=MyQueue

Here are the properties that are valid for this:

  • Note that c.r means cargo.resource

Property

Purpose

Valid Values

Mandatory?

c.r.id

The ID for the JNDI entry of this JMS resource

ID used in configuration files, if not specified an identifier is created using the name optional

c.r.name

The path to this JMS resource in JNDI

Any JNDI path, like jms/cf/MyCf or jms/cf/MyQueue

mandatory

c.r.type

Interface of the object

Any JNDI path, like javax.jms.ConnectionFactory or javax.jms.Queue

mandatory

c.r.parameters

Properties to to populate the class with

Semi-colon delimited string; must correspond to setters

optional

Other resource properties

All other resources are added through pipe-delimited configuration properties that starts with cargo.resource.resource. Example:

cargo.resource.resource1=cargo.resource.name=resource/apple\|cargo.resource.class=org.mycompany.Apple\|...
cargo.resource.resource2=cargo.resource.name=resource/pear\|cargo.resource.driver=org.mycompany.Pear\|...

Here are the properties that are valid for this:

  • Note that c.r means cargo.resource

Property

Purpose

Valid Values

Mandatory?

c.r.id

The ID for this JNDI entry

ID used in configuration files, if not specified an identifier is created using the name optional

c.r.name

The path to this resource in JNDI

Any JNDI path, like resource/apple

mandatory

c.r.type

Interface of the object

Any valid interface

mandatory

c.r.class

The implementation class

Any valid class implementing the interface

mandatory

c.r.parameters

Properties to to populate the class with

Semi-colon delimited string; must correspond to setters

optional

Known issues

The Glassfish container has various known issues with regards to DataSource support.

When you try to use Glassfish 3.x or Glassfish 4.x with Derby DataSources, you might run into issues where Glassfish doesn't start, and the Glassfish logs show you messages such as the below:

java.lang.SecurityException: sealing violation: package org.apache.derby is sealed

This is because Glassfish is already shipped with Derby, and the Glassfish class loaders do not know how to the manage the situation where the same class is duplicated. So, the solution is to simply remove the Derby JAR from dependencies; on the other hand this is not feasible if you are using the same CARGO profile with different containers. Here is how you can work around the issue:

<dependencies>
  <dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
    <version>${derby.version}</version>
    <scope>test</scope>
  </dependency>
</dependencies>

  ...

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <version>${cargo.version}</version>
      <!--
        This configuration will be used in general.
        -->
      <configuration>
        <container>
          <dependencies>
            <dependency>
              <groupId>org.apache.derby</groupId>
              <artifactId>derby</artifactId>
            </dependency>
          </dependencies>
          <systemProperties>
            <derby.system.home>\${project.build.directory}/derby</derby.system.home>
          </systemProperties>
        </container>
        <configuration>
          <properties>
            <cargo.datasource.datasource.derby>
                cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
                cargo.datasource.url=jdbc:derby:derbyDB;create=true|
                cargo.datasource.jndi=jdbc/CargoDS|
                cargo.datasource.username=APP|
                cargo.datasource.password=nonemptypassword
            </cargo.datasource.datasource.derby>
          </properties>
        </configuration>

          ...

      </configuration>
    </plugin>
  </plugins>
</build>

<profiles>

    ...

  <profile>
    <id>glassfish3x</id>
    <build>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <configuration>
              <container>
                <containerId>glassfish3x</containerId>
                <artifactInstaller>
                  <groupId>org.glassfish.main.distributions</groupId>
                  <artifactId>glassfish</artifactId>
                  <version>3.1.2.2</version>
                </artifactInstaller>
                <dependencies>
                  <!--
                    Remove the org.apache.derby dependency since GlassFish 3.x is already
                    shipped with Derby, and adding the dependency twice results in a
                    java.lang.SecurityException: sealing violation: package org.apache.derby.
                    -->
                    <dependency>
                      <groupId>org.apache.derby</groupId>
                      <artifactId>derby</artifactId>
                      <classpath>none</classpath>
                    </dependency>
                </dependencies>
              </container>
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
    </build>
  </profile>
</profiles>

Examples

Users of the Java API can take a look at the following classes as example:

  • ConfigurationFixtureFactory: class with static methods showing examples for creating various DataSource and resource types:
    • createDataSource and createAnotherDataSource: Creation of a DataSource
    • createDriverConfiguredDataSourceWithLocalTransactionSupport: Creation of a DataSource with local transaction support
    • createDriverConfiguredDataSourceWithXaTransactionSupport: Creation of a DataSource with XA transaction support
    • createXADataSourceConfiguredDataSource: Creation of an XA DataSource as DataSource
    • createConnectionPoolDataSourceAsResource: Creation of a connection pool
    • createXADataSourceAsResource: Creation of an XA DataSource as a resource
    • createMailSessionAsResource: Creation of a Mail resource
    • createDataSourceWithWindowsPath: Creation of a DataSource with a Windows path
    • createJmsQueueAsResource: Creation of a JMS resource
  • DataSourceOnStandaloneConfigurationTest: DataSource definition.
  • TransactionEmulationDataSourceOnStandaloneConfigurationTest: DataSource definition with transaction emulation.
  • XATransactionDataSourceOnStandaloneConfigurationTest: XA DataSource definition.
  • MailResourceOnStandaloneConfigurationTest: Resource definition, showing for example mailsession.
  • JmsResourceOnStandaloneConfigurationTest: Resource definition, showing for example a JMS queue.

Users of the Maven2/Maven3 plugin can use the Maven2 Archetype showing DataSource support. Please read: DataSource Definition Archetype.

Copyright 2004-2016. All rights reserved unless otherwise noted.
Click here to read our privacy and cookie policy