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. See Property Replacement Support 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 WebLogic DataSource Name as the list identifier for datasources.
See Property Replacement Support for more information about property replacement.
Tip |
---|
If you want to detect changes in WebLogic resource (properties) files and only deploy changed files, you can implement custom workflow as defined in Custom Workflow to detect changes in Properties Files. |
Blog Posts
- https://flexagon.com/2017/03/automating-the-creation-of-weblogic-configurations/
- https://flexagon.com/2016/11/save-time-and-headache-automate-your-weblogic-data-source-configurations/
Environment/Instance Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Oracle Weblogic Home (WL_HOME) |
| Yes | WebLogic Home Directory. (e.g. /u01/oracle/products/fmw/wlserver) |
Weblogic Domain Name |
| Yes | WebLogic Domain Name. |
Weblogic Admin Listen Address |
| Yes | The listener address of the WLS admin server. (e.g. localhost) |
Weblogic Admin Listen Port |
| Yes | The port of the WLS admin server. (e.g. 7001) |
Weblogic Admin SSL Connection |
| No | Indicates whether the admin server is using SSL. |
Weblogic Admin User |
| Yes | The user name for the WLS admin server. |
Weblogic Admin Password |
| Yes | The password for FDWLS_ADMIN_USERWeblogic Admin User. |
Weblogic Admin Domain Directory |
| No | Weblogic Domain Directory for AdminServer. If not provided, |
Weblogic Domain Directory |
| Yes | Weblogic Domain Directory.(e.g. |
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). |
Outputs
Output Name | Required | Description |
---|---|---|
FDWLS_OUT_IS_RESTART_REQUIRED | No | A |
Artifacts
This operation consumes properties-file artifacts.
...
This operation will select all available endpoints associated to the environment instance 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 Server resource type.
Special Considerations
If FILE_PATH_TO_PROPERTIES
is Properties File Path 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 configbackup before modifications. As with all files in the endpoint working directory, these files will be saved for 3 days before being deleted.
...
- Properties file can be named as per your requirements. See Example Properties File below.
- datasources.properties – properties – This is the main properties file. The path to it is referenced by FILE_PATH_TO_PROPERTIESthe Properties File Path input.
- DEV/datasources.properties properties - optionally create a file here and override some properties with it per environment. The filename must match.
- PROD/datasources.properties properties - optionally have several environments.
- Sub folder names for environment overrides must be FlexDeploy environment code.
...
Tip | ||
---|---|---|
| ||
If you want \ (backslash) in any property value, use \\ or \u005c. This is Java properties file load syntax. |
Code Block | ||||
---|---|---|---|---|
| ||||
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 # This format is also supported for datasource properties. DS1.properties.oracle.net.CONNECT_TIMEOUT=30000 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# This format is also supported for datasource properties. DS2.properties.namekey1=valuevalue1 DS2.properties.name2key2=value2 DS2.systemProperties.namekey3=valuevalue3 DS2.systemProperties.name2key4=value2value4 |
Example Gridlink DataSource Property File
...
Code Block | ||||
---|---|---|---|---|
| ||||
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=150 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 format. See the Appendix for more information about property replacement.
...
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. |
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. |
DataSourceList | Comma-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. |
FanEnabled | True 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, TwoPhaseCommit |
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. |
AlgorithmType | Failover |
TestFrequencySeconds | 120 |
Targets | Property is unset if not specified. Provide comma-separated list of target names. |
e.g. DefaultServer, Cluster1, Server2, Server3. |