IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > JDBC > Reference > Configuration properties > Outbound configuration properties

Managed connection factory properties

Managed connection factory properties are used by the adapter at run time to create an outbound connection instance with the database.

You set managed connection factory properties through the external service wizard during adapter configuration. You can change them before deployment by using the IBM Integration Designer assembly editor or after deployment with the IBM BPM or WebSphere Enterprise Service Bus administrative console.

The following table describes the managed connection factory properties. A complete description of each property is provided in the sections that follow the table. For information about the sections that follow, see Guide to information about properties.

The external service wizard refers to these properties as managed connection factory properties, while the administrative console refers to them as J2C connection factory properties.

Managed connection factory properties for Adapter for JDBC
Property name Description
In the wizard In the administrative console
Adapter ID

AdapterID

Identifies the adapter instance for PMI events and for logging and tracing.

Additional JDBC driver connection properties [name:value;name:value]

JDBCDriverConnectionProperties

Additional properties for connecting to the database using the JDBC driver, which are used in addition to the UserName and Password properties.

Auto commit AutoCommit The AutoCommit value to use on the connection.
Database connection information ConnectionType Specifies how the adapter establishes connection to the database.
Data source JNDI name DataSourceJNDIName Deprecated.
Database URL DatabaseURL

The database URL used to connect to the database.

Database vendor DatabaseVendor

The type of database that the adapter uses for special processing.

(Not available) ErrorOnEmptyResultSet

Specifies whether to generate an exception when no records are found.

Disguise user data as "XXX" in log and trace files HideConfidentialTrace Specifies whether to disguise potentially sensitive information by writing X strings instead of user data in the log and trace files.
JDBC driver class JDBCDriverClass

The class name of the JDBC driver used to connect to the database.

Maximum retries on connection failure ConnectionRetryLimit Specifies the maximum number of times the adapter tries to reestablish an outbound connection to the database.
Password Password

Password for the corresponding user name

Connection pool DataSource JNDI name PoolDataSourceJNDIName The JNDI name of the connection pool data source to be used to establish a connection to the database.
Query timeout (seconds) QueryTimeOut

The maximum number of seconds a query can take for all SQL statements.

Connection retry interval (in milliseconds) ConnectionRetryInterval Specifies the time interval between attempts to reconnect to the database if the connection fails.
Return business object even when the stored procedure result set is empty ReturnDummyBOForSP

Specifies whether to return output parameters when the result set is empty.

SQL query to verify the connection PingQuery

The SQL query used to test the reliability of the connection to the database.

User name UserName

The database user name.

XA DataSource name XADataSourceName The name of the XA data source to use to establish a connection to the database for XA (distributed) transactions.
XA database name XADatabaseName The database name used for the XA connection.
XA DataSource JNDI name XADataSourceJNDIName

The JNDI name of the XA data source used to establish a connection to the database.


Adapter ID (AdapterID)

This property identifies a specific deployment or instance of the adapter.

Adapter ID details
Required Yes
Default 001
Property type String
Usage This property identifies the adapter instance in the log and trace files, and also helps identify the adapter instance while monitoring adapters. The adapter ID is used with an adapter-specific identifier, JDBCRA, to form the component name used by the Log and Trace Analyzer tool.

For example, if the adapter ID property is set to 001, the component ID is JDBCRA001.

If you run multiple instances of the same adapter, ensure that the first seven characters of the adapter ID property are unique for each instance so that you can correlate the log and trace information to a particular adapter instance. By making the first seven characters of an adapter ID property unique, the component ID for multiple instances of that adapter is also unique, allowing you to correlate the log and trace information to a particular instance of an adapter.

For example, when you set the adapter ID property of two instances of WebSphere Adapter for JDBC to 001 and 002. The component IDs for those instances, JDBCRA001 and JDBCRA002, are short enough to remain unique, enabling you to distinguish them as separate adapter instances. However, instances with longer adapter ID properties cannot be distinguished from each other. If you set the adapter ID properties of two instances to Instance01 and Instance02, you will not be able to examine the log and trace information for each adapter instance because the component ID for both instances is truncated to JDBCRAInstanc.

For inbound processing, the value of this property is set at the resource adapter level. For outbound processing, the value can be set both at the resource adapter level and the managed connection factory level. After you use the external service wizard to configure the adapter for outbound processing, you can set the resource adapter and managed connection factory properties independently. If you use the IBM Integration Designer assembly editor or the administrative console to reset these properties, ensure that you set them consistently, to prevent inconsistent marking of the log and trace entries.

Globalized Yes
Bidi supported No


Additional JDBC driver connection properties [name:value;name:value] (JDBCDriverConnectionProperties)

This property contains additional information for connecting to the database using the JDBC driver.

Additional JDBC driver connection properties details
Row Explanation
Required No
Possible values Database connection properties are database-specific.
Default No default value
Property type String
Usage These connection properties are used in addition to the UserName and Password properties to customize the database connection used by the adapter.

Specify the connection properties as one or more name: value pairs separated by the semicolon character (;).

Example

The following value of this property specifies a login timeout interval, makes a read-only database connection, and sets the security mechanism:

loginTimeout:20;readOnly:true;
securityMechanism:USER_ONLY_SECURITY 

In a high availability environment, to get the properties that DB2 driver requires (retryIntervalForClientReroute, maxRetriesForClientReroute, clientRerouteAlternateServerName, clientRerouteAlternatePortNumber) for a reliable connection to the High Availability and Disaster Recovery (HADR) database, configure this property to generate the correct property string as shown in the example below:

retryIntervalForClientReroute:15;
maxRetriesForClientReroute:5;
clientRerouteAlternateServerName:WLOXS01B.svl.ibm.com;
clientRerouteAlternatePortNumber:50000
For more information about using WebSphere Adapter in WebSphere High Availability
Globalized Yes
Bidi supported No


Auto commit (AutoCommit)

This property specifies whether AutoCommit is set for the connection.

Auto commit details
Required No
Possible values

True
False

Default False
Property type Boolean
Usage This property is ignored for XA (distributed) transactions.
Globalized No
Bidi supported No


Database URL (DatabaseURL)

This property specifies the JDBC driver-specific URL for creating a connection to the database.

Database URL details
Required Yes, when the connection is of the type LocalConnectionProps or ConnectionProps.
Default No default value
Property type String
Usage In the external service wizard, compose the database URL by entering in database-specific fields.

For example, the database URL for a DB2 database is composed of the database name, the server host name, and the database port number. In the administrative console, type the complete database URL value.

If your database server supports IPv6, you can specify the host name portion of the database URL in IPv6 format.

If you specify the host name as an IP address in IPv6 format, enclose the IP address in square brackets ( []).

Examples

The following are typical values for common database servers:

DB2 universal (type 4) JDBC driver

jdbc:db2://www.example.com:50000/DB

DB2 universal JDBC driver with an IPv6 address

jdbc:db2://[fe80::20c:29ff:feea:1361%4]:50000/DB

DB2 Universal Database™ type 2 driver for local connection

jdbc:db2:TEST

DB2 Universal Database type 2 driver for remote connection

jdbc:db2://www.example.com:50000/TEST

Oracle V10

jdbc:oracle:thin:@9.26.248.148:1521:dev
Globalized Yes
Bidi supported Yes


Database vendor (DatabaseVendor)

This property specifies the type of database that is used. The type is determined by the database vendor name.

Database vendor details
Required Yes
Possible values

DB2
Informix
MSSQLServer
Oracle
Others

Default No default value
Property type String
Usage

Some SQL statements require special processing, which varies by database type.

For example, the Struct and Array data types in Oracle require special processing. This property specifies the RDBMS that is used, which determines the database type.

For other databases, the adapter does not perform any special processing. Verify that the correct driver is specified in the JDBCDriverClass property.

Globalized No
Bidi supported No


Disguise user data as "XXX" in log and trace files (HideConfidentialTrace)

This property specifies whether to replace user data in log and trace files with a string of X's to prevent unauthorized disclosure of potentially sensitive data.

Disguise user data as "XXX" in log and trace files details
Required No
Possible values

True
False

Default False
Property type Boolean
Usage If you set this property to True, the adapter replaces user data with a string of X's when writing to log and trace files.

For inbound processing, the value of this property is set at the resource adapter level. For outbound processing, the value can be set both at the resource adapter level and the managed connection factory level. After you use the external service wizard to configure the adapter for outbound processing, you can set the resource adapter and managed connection factory properties independently. If you use the IBM Integration Designer assembly editor or the administrative console to reset these properties, ensure that you set them consistently, to prevent inconsistent marking of the log and trace entries.

Globalized No
Bidi supported No


Throw exception when no records are found (ErrorOnEmptyResultSet)

This property specifies whether the ErrorOnEmptyResultSet property is set for the RecordNotFoundException property on the RetrieveAll operation.

Throw exception when no records are found details
Required No
Possible values

True
False

Default True
Property type Boolean
Usage If you set this property to False, the RetrieveAll operation does not generate a RecordNotFoundException exception when no records are found.
Globalized No
Bidi supported No


JDBC driver class (JDBCDriverClass)

This property specifies the class name of the JDBC driver used to connect to the database.

JDBC driver class details
Row Explanation
Required Yes, when the connection is of the type LocalConnectionProps or ConnectionProps.
Possible values

Values are database-specific.

Default No default value
Property type String
Usage In the external service wizard, the JDBC driver class is displayed if you select a common database software and driver combination, such as type 4 drivers for recent versions of IBM DB2, Oracle, and Microsoft SQL. For most type 2 drivers for most database software, you must type the database class name.

For example, for the DB2 Universal Database type 2 driver, the class name is COM.ibm.db2.jdbc.app.DB2Driver

In the administrative console, type the database-specific name of the driver.

Examples

Values for the JDBC driver class is displayed in both the external service wizard and the administrative console. The following examples depict the JDBC driver class properties in both the external service wizard and the administrative console. In the external service wizard:

  • To connect to a DB2 database using the universal, or type 4, JDBC driver, select IBM DB2 Universal.

  • To connect to a DB2 database using the DB2 universal type 2 driver, select Other.

  • To connect to an Oracle 10 database using the type 4 driver, select Oracle Thin Driver.


In the administrative console:

DB2 Universal Database type 2 driver

COM.ibm.db2.jdbc.app.DB2Driver

DB2 Universal Database type 4 driver

com.ibm.db2.jcc.DB2Driver

Oracle Thin JDBC driver

oracle.jdbc.driver.OracleDriver

IBM Toolkit for Java™ remote driver for IBM i

com.ibm.as400.access.AS400JDBCDriver

IBM WebSphere Connect JDBC driver for Microsoft SQL Server

com.ibm.websphere.jdbc.sqlserver.SQLServerDriver
Globalized No
Bidi supported No


Password (Password)

This property specifies the password for the database user name.

Password details
Required No. For inbound processing, if you set the Authentication alias or the DataSourceJNDIName, the password is not mandatory. However, if you set the DataSourceJNDIName, and the Password field, the value specified for the Password takes precedence.

For outbound processing, if you set the Authentication alias, XADataSourceJNDIName or PoolDataSourceJNDIName property, the password is not mandatory. However, if you set the XADataSourceJNDIName or PoolDataSourceJNDIName property, and the Password field, the value specified for the Password takes precedence.

Default No default value
Property type String
Usage For inbound processing, setting this property overrides the password specified for the data source on the server using the Authentication alias or DataSourceJNDIName property.

For outbound processing, setting this property overrides the password specified for the data source on the server using the Authentication alias, or XADataSourceJNDIName or PoolDataSourceJNDIName property.

If you specify JAAS as the security credential, the authentication alias will override this property.

Globalized Yes
Bidi supported Yes


Query timeout (seconds) (QueryTimeOut)

This property specifies the maximum number of seconds a query can take to run all SQL statements.

Query timeout details
Required No
Default No default value
Unit of measure Seconds
Property type Integer
Usage If the query takes longer than the number of seconds specified, the database returns an SQL exception that is captured. The associated message is logged in the log file.

If a value is not specified, no timeout is set on the query.

Globalized No
Bidi supported No


Return business object even when the stored procedure result set is empty (ReturnDummyBOForSP)

This property specifies whether to return output parameters when the result set is empty.

Return business object even when the stored procedure result set is empty details
Required No
Possible values

True
False

Default False
Property type Boolean
Usage

The Retrieve Stored Procedure (RetrieveSP) operation returns a result set. If the result set is empty and the ReturnDummyBOForSP property is set to False, no business objects are created, and the output parameters returned by the procedure call cannot be retrieved.

However, if the ReturnDummyBOForSP property is set to True, a dummy business object is created and the returned parameters (including the out and inout parameters) from the stored procedure are populated into the corresponding attributes

Globalized No
Bidi supported No


SQL query to verify the connection (PingQuery)

This property specifies the SQL query used to test the reliability of the connection to the database.

Ping query details
Required No
Property type String
Default No default value
Usage

This property contains the SQL query statement that you want to run to determine whether the adapter can connect to the database.

The adapter runs the ping query every time it receives a SQLException exception while performing the outbound operation.

The adapter does not try to recover the connection.

If the ping query indicates that the connection to the database is no longer valid, the adapter notifies the container. It is the responsibility of the connection pool manager to remove the stale connection from the pool, which allows subsequent outbound requests to be processed.

Globalized No
Bidi supported No


User name (UserName)

This property specifies the database user name used to access the database.

User name details
Required No. For inbound processing, if you set the Authentication alias or the DataSourceJNDIName, the User name property is not mandatory. However, if you set the DataSourceJNDIName, and User name field, the value specified for the User name takes precedence.

For outbound processing, if you set the Authentication alias, XADataSourceJNDIName or PoolDataSourceJNDIName property, the User name is not mandatory. However, if you set the XADataSourceJNDIName or PoolDataSourceJNDIName property, and the User name field, the value specified for the User name takes precedence.

Default No default value
Property type String
Usage For inbound processing setting this property overrides the user name specified for the data source on the server using the DataSourceJNDIName property or the Authentication alias.

For outbound processing, setting this property overrides the user name specified for the data source on the server using the XADataSourceJNDIName property, PoolDataSourceJNDIName property or the Authentication alias.

If you specify JAAS as the security credential, the authentication alias will override this property.

Globalized Yes
Bidi supported Yes


XA DataSource name (XADataSourceName)

This property specifies the name of the XA data source used to establish a connection to the database for XA (distributed) transactions.

XA data source name details
Required No
Default No default value
Property type String
Usage

To make an XA connection for a DB2 database, this property is used with the XADatabaseName property.

To make an XA connection to an Oracle database, this property is used, but the XADatabaseName property is not used.

Examples

A typical value for an Oracle database:

oracle.jdbc.xa.client.OracleXADataSource

A typical value for a DB2 database with a type 2 JDBC driver (db2java.zip):

COM.ibm.db2.jdbc.DB2XADataSource

A typical value for a DB2 database with a type 4 JDBC driver (db2jcc.jar):

com.ibm.db2.jcc.DB2XADataSource

Globalized No
Bidi supported No


XA database name (XADatabaseName)

This property specifies the name of the database used for the XA connection.

XA database name details
Required No
Default No default value
Property type String
Usage To make an XA connection to a DB2 database, this property is used in conjunction with the XADataSourceName property. This property is not required for Oracle databases.
Globalized Yes
Bidi supported Yes


Maximum retries on connection failure (connectionRetryLimit)

This property specifies the number of times the adapter will attempt to reestablish a connection to the database, when the adapter encounters an error related to the outbound connection.

Maximum retries in case of system connection failure details
Required No
Possible values Integer equal to and greater than zero
Default 0
Property type Integer
Usage

When the adapter encounters an error related to the outbound connection, it attempts to reestablish a physical connection (when physical connection is not established) for the number of times specified for this property with a time delay specified in the property Connection retry interval (in milliseconds) (ConnectionRetryInterval).

If the value is set to 0, the adapter does not validate the connection to the database and it executes the outbound operation. If the database connection is invalid, the outbound operation fails. The adapter does not attempt to reconnect to the database.

If the value is set to greater than 0, then during each request the adapter validates if the connection to the database is active.

  • If the connection is valid, the operation is completed.

  • If connection is invalid, the adapter terminates the current managed connection and a new managed connection is created (new physical connection).

    If the adapter is successful in reestablishing the connection to the database, the outbound operation is completed otherwise the adapter generates the ResourceException after trying to reconnect for the specified number of times.

Globalized No
Bidi supported No


Connection retry interval (in milliseconds) (ConnectionRetryInterval)

This property specifies the time interval between attempts to reconnect to the database if the connection fails.

Retry interval if connection failure details
Required No
Possible values Integer equal to and greater than zero
Default 60000
Unit of measure Milliseconds
Property type Integer
Usage

When the adapter encounters an error while establishing a connection to the database, this property specifies the time interval the adapter waits between attempts to reestablish a connection.

By default, this property is disabled and it is enabled only when the value of the Maximum retries on connection failure (connectionRetryLimit) property is set to greater than zero.

Globalized No
Bidi supported No


XA DataSource JNDI name (XADataSourceJNDIName)

This property specifies the JNDI name of the XA data source used to establish a connection to the database.

XA Data source JNDI name details
Required No
Default No default value
Property type String
Usage Use this property to specify the JNDI name of a XA data source in IBM BPM or WebSphere Enterprise Service Bus that specifies connection information for the target database. If the Database connection information (ConnectionType) is set to "XADataSourceJNDI" the adapter uses this property to establish the connection to the database. To improve the performance of outbound operations, specify the name of a data source that is enabled for prepared statement caching. If the other valid authentication properties are also set, they override authentication properties in the data source.
Globalized Yes
Bidi supported No


Database connection information (ConnectionType)

This property specifies how the adapter establishes connection to the database.

Database connection information
Required Yes
Possible values XADataSourceJNDI, XAConnectionProps, PoolDataSourceJNDI, or LocalConnectionProps
Default No default value
Property type String
Usage This property specifies how the adapter establishes database connection at run time. This property can have the following values:

  • XADataSourceJNDI- Indicates that the database connection is established using the XADataSourceJNDIName property that corresponds to the predefined XA data source.
  • XAConnectionProps - Indicates that the database connection is established using the XADataSourceName and DatabaseURL or XADatabaseName properties.
  • PoolDataSourceJNDI - Indicates that the database connection is established using the poolDataSourceJNDIName property that corresponds to the predefined data source.
  • LocalConnectionProps - Indicates that the database connection is established using the DatabaseURL and JDBCDriverClass properties.

For a new application, this property is automatically set by external service wizard. For a migrated application, this property is set during the migration process according to the ManagedConnectionFactory properties.

  • If the DataSourceJNDIName property is set, the value of this property is set to XADataSourceJNDI.

  • If the XADataSourceName is set, the value of this property is set to XAConnectionProps.
  • Otherwise, the value of this property is set to LocalConnectionProps.

If this property is not set, adapter uses backward compatibility mode to establish database connection. In the backward compatibility mode, the properties for connecting to the database are used in the following order:

  1. If the DataSourceJNDIName property is set, the adapter uses it to establish the connection to the database.

  2. If the DataSourceJNDIName property is not set, and the XADataSourceName and XADatabaseName properties are set, the adapter uses them to establish the connection. The DataSourceJNDIName property represents an XA or connection pool data source. If you define a JNDI data source on the server that supports XA transactions and then specify that data source when you configure the adapter, you can connect to any type of database that supports XA transactions. If you use an XA data source and database, the adapter supports XA transaction only for DB2 and Oracle databases.

  3. If the DataSourceJNDIName, XADataSourceName, and XADatabaseName properties are not set, then the adapter uses the DatabaseURL, JDBCDriverClass, UserName, and Password properties to establish the connection.
Globalized No
Bidi supported No


Connection pool DataSource JNDI name (PoolDataSourceJNDIName)

The JNDI name of the connection pool data source to be used to establish a connection to the database.

Connection pool data source
Required No
Default No default value
Property type String
Usage Use this property to specify the JNDI name of a connection pool data source in IBM BPM or WebSphere Enterprise Service Bus that specifies connection information for the target database. If the Database connection information (ConnectionType) property is set to "PoolDataSourceJNDI" the adapter use this property to establish the connection to the database. To improve the performance of outbound operations, specify the name of a data source that is enabled for prepared statement caching. If the other valid authentication properties are also set, they override authentication properties in the data source.
Globalized No
Bidi supported No

Outbound configuration properties


Related concepts:

Outbound processing


Related tasks:

Setting managed (J2C) connection factory properties for embedded adapters

Setting deployment properties and generating the service