createOrUpdateDataSources

Creates or updates the data sources that are defined by properties files. The properties files will be processed for property replacement using ${{VARIABLE_NAME}} format.

If using multiple files, make sure that the lists contain unique values across files. Best practice would be to use the Weblogic Datasource Name as the list identifier for datasources.

See Property Replacement Support for more information about property replacement.

Environment/Instance Properties

Property Name

Property Code

Required

Description

Oracle Weblogic Home (WL_HOME)

FDWLS_WEBLOGIC_HOME

Yes

WebLogic Home Directory. (e.g. /u01/oracle/products/fmw/wlserver)

Weblogic Domain Name

FDWLS_DOMAIN_NAME

Yes

WebLogic Domain Name.

Weblogic Admin Listen Address

FDWLS_ADMIN_LISTEN_ADDRESS

Yes

The listener address of the WLS admin server. (e.g. localhost)

Weblogic Admin Listen Port

FDWLS_ADMIN_LISTEN_PORT

Yes

The port of the WLS admin server. (e.g. 7001)

Weblogic Admin SSL Connection

FDWLS_ADMIN_USE_SSL

No

Indicates whether the admin server is using SSL.

Weblogic Admin User

FDWLS_ADMIN_USER

Yes

The user name for the WLS admin server.

Weblogic Admin Password

FDWLS_ADMIN_PASSWORD

Yes

The password for FDWLS_ADMIN_USER.

Weblogic Admin Domain Directory

FDWLS_ADMIN_DOMAIN_DIRECTORY

No

Weblogic Domain Directory for AdminServer. If not provided, FDWLS_DOMAIN_DIRECTORY will be used.

Weblogic Domain Directory

FDWLS_DOMAIN_DIRECTORY

Yes

Weblogic Domain Directory.(e.g. /u01/oracle/config/domains/soa_domain)

Project Properties

Property Name

Property Code

Required

Description





Inputs

Property Name

Property Code

Required

Description

Properties File Path

FILE_PATH_TO_PROPERTIES

No

Comma-separated list of paths to the properties file(s).
If relative paths are given, they are assumed relative to the FD_ARTIFACTS_DIR directory.
If this property is not specified, all properties files in the FD_ARTIFACTS_DIR directory will be processed.

Outputs

Output Name

Required

Description

FDWLS_OUT_IS_RESTART_REQUIRED

No

A boolean value that indicates whether the server needs to be restarted to finish applying the configuration changes. You could use this in a workflow condition.

Artifacts

This operation consumes properties-file artifacts.

Endpoint Selection

This operation will select all available endpoints associated to the environment instance which have a resource type of WLS Admin Server. Since the admin server only runs on one server, it is expected that for a given domain, there will only be one endpoint with a resource type set to WLS Admin Server.

Endpoint Execution

This operation will execute on the Admin Server endpoint selected using the WLS Admin Server resource type.

Special Considerations

If FILE_PATH_TO_PROPERTIES is not specified, the FD_ARTIFACTS_DIR folder will be used. If a relative path is specified, the path will be relative to the FD_ARTIFACTS_DIR directory.
WebLogic configuration files including Data Sources are backed up to FD_TEMP_DIR/configbackup before modifications. As with all files in the endpoint working directory, these files will be saved for 3 days before being deleted.

It is important to set up the properties files like the examples below.

Example Folder Structure

  • Properties file can be named as per your requirements. See Example Properties File below.
  • datasources.properties – This is the main properties file. The path to it is referenced by FILE_PATH_TO_PROPERTIES.
  • DEV/datasources.properties - optionally create a file here and override some properties with it per environment. The filename must match.
  • PROD/datasources.properties - optionally have several environments.
    • Sub folder names for environment overrides must be FlexDeploy environment code.

Example Property File

This sample file defines two simple data sources with a sub-set of the available properties.

Backslash in Properties file

If you want \ (backslash) in any property value, use \\ or \u005c. This is Java properties file load syntax.

DSList=DS1,DS2

DS1.DataSourceType=Generic
DS1.URL=jdbc:oracle:thin:@localhost:1521:xe
DS1.ConnectionClass=oracle.jdbc.OracleDriver
DS1.DSName=DS1
DS1.User=${{FLX_DB_USER_FDADMIN}}
DS1.Targets=MS1
DS1.JNDINames=jdbc/DS1
DS1.Password=${{FLX_DB_PASSWORD_FDADMIN}}
DS1.MinCapacity=0

DS2.DataSourceType=Generic
DS2.URL=jdbc:oracle:thin:@localhost:1521:xe
DS2.ConnectionClass=oracle.jdbc.OracleDriver
DS2.DSName=DS2
DS2.User=${{FLX_DB_USER_FDADMIN}}
DS2.Targets=MS1
DS2.JNDINames=jdbc/DS2
DS2.Password=${{FLX_DB_PASSWORD_FDADMIN}}
DS2.MinCapacity=0

#This format is also supported.
DS2.properties.name=value
DS2.properties.name2=value2
DS2.systemProperties.name=value
DS2.systemProperties.name2=value2

Example Gridlink DataSource Property File

This sample file defines a GridLink data source with a sub-set of the available properties. It could be combined with other data sources in one file, but is separate here for clarity.

DSList=testName1

testName1.DataSourceType=GridLink
testName1.ConnectionClass=oracle.jdbc.OracleDriver
testName1.DSName=testName1
testName1.Targets=AdminServer
testName1.JNDINames=test/karl1
testName1.TestConnectionsOnReserve=true
testName1.URL=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=databaseserverhostname)(PORT=1521)))(CONNECT_DATA=(SID=fmt01)))
testName1.DatabaseName=fmt01
testName1.User=system
testName1.Password=************
testName1.InitialCapacity=15
testName1.MaxCapacity=50

Properties File Format

Multiple data sources can be defined in the properties files. The properties files must start with a list of data sources present in the format DSList=ds1,ds2,ds3. Change ds1, ds2, ds3 to names that make sense for your project. Any number of data sources is acceptable. The properties files will be processed for property replacement using ${{VARIABLE_NAME}} format. See the Appendix for more information about property replacement.

If using multiple files, make sure that the lists contain unique values across files. Best practice would be to use the Weblogic Datasource Name as the list identifier for datasources.

Required Properties for Generic and Gridlink Datasources

At a minimum, each data source must contain these properties:

Property Name

Description

DataSourceType

Generic or GridLink (GridLink is supported on WebLogic 12c+ only)

URL

The full JDBC connection URL

ConnectionClass

The JDBC driver

DSName

The display name of the Data Source

User

Database user name

Password

Database Password

JNDINames

Comma-separated list of JNDI names. (e.g. /jdbc/name1,/jdbc/name2)

Required Properties for Multi Data Source DataSources

At a minimum, each data source must contain these properties:

Property Name

Description

DataSourceType

MultiDataSource

DSName

The display name of the Data Source

JNDINames

Comma-separated list of JNDI names. (e.g. /jdbc/name1,/jdbc/name2)

DataSourceListComma-Separated list of DataSource display names (DSName property of those datasources)

Optional Properties for Generic and Gridlink DataSources

These properties are optional. If the property is unsupported by the version of WebLogic you are running, it will be ignored. If not specified in your properties file, the WebLogic 12c defaults shown below will apply. This is also true on updating databases, so it is important to include all the properties you use if modifying an existing environment. You may use as many or as few as you like per data source.

Property Name

Defaults

ConnectionCreationRetryFrequencySeconds

0

ConnectionHarvestMaxCount

1

ConnectionHarvestTriggerCount

-1

ConnectionLabelingCallback

Property is unset if not specified.

ConnectionReserveTimeoutSeconds

10

CountOfRefreshFailuresTillDisable

2

CountOfTestFailuresTillFlush

2

CredentialMappingEnabled

false

DRCPConnectionClassProperties

Property is unset if not specified. This is required for pooled connections, and ignored on non-pooled connections.

FanEnabledTrue if Gridlink, False if Generic

FatalErrorCodes

Property is unset if not specified.

GlobalTransactionsProtocol

The default is OnePhaseCommit

If you would like to uncheck the Supports Global Transactions checkbox, set the value to None.

The options are : OnePhaseCommit, None, LoggingLastResource, EmulateTwoPhaseCommit

HighestNumWaiters

2147483647

IdentityBasedConnectionPoolingEnabled

false

IgnoreInUseConnectionsEnabled

true

InactiveConnectionTimeoutSeconds

0

InitialCapacity

1

InitSql

Property is unset if not specified.

KeepConnAfterGlobalTx

false

KeepConnAfterLocalTx

true

KeepLogicalConnOpenOnRelease

false

KeepXaConnTillTxComplete

true

LoginDelaySeconds

0

MaxCapacity

15

MinCapacity

1

NeedTxCtxOnClose

false

OracleProxySession

false

Partition

Property is unset if not specified.

PinnedToThread

false

RecoverOnlyOnce

false

RemoveInfectedConnections

true

ResourceGroup

Property is unset if not specified.

ResourceHealthMonitoring

true

RollbackLocalTxUponConnClose

false

SecondsToTrustAnIdlePoolConnection

10

ShrinkFrequencySeconds

900

StatementCacheSize

10

StatementCacheType

LRU

StatementTimeout

-1

Targets

Property is unset if not specified. Provide comma-separated list of target names. E.g. DefaultServer, Cluster1, Server2, Server3.

TestConnectionsOnReserve

false

TestFrequencySeconds

120

TestTableName

SQL ISVALID\r\n

UseDatabaseCredentials

false

UseXaDataSourceInterface

true

WrapTypes

true

XaEndOnlyOnce

false

XaRetryDurationSeconds

0

XaRetryIntervalSeconds

60

XaSetTransactionTimeout

false

XaTransactionTimeout

0

Optional Properties for GridLink DataSources

These properties are used only for GridLink DataSources. 

Property Name

Defaults

OnsNodeList

Property is unset if not specified.

OnsWalletFile

Property is unset if not specified.

OnsWalletPassword

Property is unset if not specified.

Optional Properties for Multi Data Source DataSources

These properties are used only for Multi Data Source DataSources. 

Property Name

Defaults

Notes

Property is unset if not specified.

FailoverRequestIfBusy

false

ConnectionPoolFailoverCallbackHandler

Property is unset if not specified.

AlgorithmTypeFailover
TestFrequencySeconds120
Targets

Property is unset if not specified. Provide comma-separated list of target names. E.g. DefaultServer, Cluster1, Server2, Server3.

The following macros are not currently supported in the footer:
  • style