Skip to content

Overview

Development

Overview

IDEs

API Explorer

Configuring Database Connection Pool Properties

If you need to edit the properties of a registered database connection pool, follow the steps below:

Updating an existing database connection

Updating an existing database connection

  1. Stop the database connection pool you want to configure.
  2. Right click on the database connection pool and click Configure from the context menu.
  3. Edit the properties of the database connection pool in the displayed editor.
  4. To save your changes:

    • If you're using Coder Cloud, click on the floppy disk button.
    • If you're using Coder Studio, press .

Updating an existing database connection

  1. Stop the database connection pool you want to configure.
  2. Click the Edit button under the Action column of the database connection pool you want to configure.
  3. Edit the properties of the database connection pool in the displayed form. Click on the Advanced checkbox if you also want to see and edit advanced properties.
  4. To save your changes, click on the Update button.

XA Transactions

XA is a two-phase commit protocol that is natively supported by many databases and transaction monitors. XA transactions allow multiple resources (such as other databases or JMS systems) to coordinate in a single global transaction. This ensures data credibility as updates are committed or rolled-back across all resources.

Some drivers don't natively support XA

For the drivers that don't support XA natively, TORO Integrate emulates XA via implementing last resource commit optimization; but such a strategy has limitations – it is not possible to have more than one emulation of an XA datasource in a single XA transaction.

To learn more about which databases supports XA natively, visit the Driver Support section.

Managing XA Transactions

Before handling XA transactions, ensure that your database connection pool has the XA Transaction option enabled.

Starting XA Transactions

To mark the start of the transaction, call [SqlMethods.startTransaction(boolean, int, GloopExecutionContext)] [javadoc-io-toro-integrate-SqlMethods-startTransaction].

Parameter Index Default Description
autoCommit 0 false Whether to automtically commit after the service has finished or not, even if an exception was thrown.
timeout 1 60 Amount of time to wait before timing out the transaction (in seconds).
context 2 null

Starting an XA transaction in Gloop

First you must create a TransactionFacade object first and then invoke its start() method. To create said object, you may use the Transactions class's create* methods.

1
2
def transaction = Transactions.create(name, propagationBehavior, timeout)
transaction.start()

Committing XA Transactions

To manually commit a transaction, call SqlMethods.commitTransaction(). This will commit the current transaction.

Committing an XA transaction in Gloop

As for committing an XA Transaction in Groovy, simply call on the TransactionFacade object's commit() method.

1
transaction.commit()

Rolling Back XA Transactions

As for rolling back, simply call SqlMethods.rollbackTransaction(). This will rollback the current transaction.

Rolling back an XA transaction in Gloop

To rollback an XA transaction in Groovy, simply call the rollback() method of the TransactionFacade object.

1
transaction.rollback()