Oracle WebLogic JDBC Data Source Configuration

Schema for WebLogic Server JDBC system resource and data source configuration as managed through the RESTful Management API.

Application ServerEnterpriseJava EEMiddlewareOracle

Properties

Name Type Description
identity array
name string JDBC system resource name
targets array Deployment targets for this data source
descriptorFileName string Name of the JDBC descriptor XML file
JDBCResource object JDBC resource configuration
links array
View JSON Schema on GitHub

JSON Schema

oracle-weblogic-data-source.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.oracle.com/weblogic/data-source",
  "title": "Oracle WebLogic JDBC Data Source Configuration",
  "description": "Schema for WebLogic Server JDBC system resource and data source configuration as managed through the RESTful Management API.",
  "type": "object",
  "required": ["name"],
  "properties": {
    "identity": {
      "type": "array",
      "items": { "type": "string" }
    },
    "name": {
      "type": "string",
      "description": "JDBC system resource name"
    },
    "targets": {
      "type": "array",
      "items": { "$ref": "#/$defs/identityObject" },
      "description": "Deployment targets for this data source"
    },
    "descriptorFileName": {
      "type": "string",
      "description": "Name of the JDBC descriptor XML file"
    },
    "JDBCResource": {
      "$ref": "#/$defs/jdbcResource",
      "description": "JDBC resource configuration"
    },
    "links": {
      "type": "array",
      "items": { "$ref": "#/$defs/link" }
    }
  },
  "$defs": {
    "identityObject": {
      "type": "object",
      "properties": {
        "identity": {
          "type": "array",
          "items": { "type": "string" }
        }
      },
      "required": ["identity"]
    },
    "link": {
      "type": "object",
      "properties": {
        "rel": { "type": "string" },
        "href": { "type": "string", "format": "uri" },
        "title": { "type": "string" }
      },
      "required": ["rel", "href"]
    },
    "jdbcResource": {
      "type": "object",
      "description": "JDBC resource configuration containing data source parameters and driver settings",
      "properties": {
        "name": { "type": "string" },
        "JDBCDataSourceParams": {
          "$ref": "#/$defs/jdbcDataSourceParams"
        },
        "JDBCDriverParams": {
          "$ref": "#/$defs/jdbcDriverParams"
        },
        "JDBCConnectionPoolParams": {
          "$ref": "#/$defs/jdbcConnectionPoolParams"
        }
      }
    },
    "jdbcDataSourceParams": {
      "type": "object",
      "description": "Data source parameters including JNDI names and transaction settings",
      "properties": {
        "JNDINames": {
          "type": "array",
          "items": { "type": "string" },
          "description": "JNDI names bound to this data source for application lookup"
        },
        "globalTransactionsProtocol": {
          "type": "string",
          "enum": [
            "TwoPhaseCommit",
            "LoggingLastResource",
            "EmulateTwoPhaseCommit",
            "OnePhaseCommit",
            "None"
          ],
          "description": "Protocol used for participating in global (XA) transactions"
        },
        "rowPrefetch": {
          "type": "boolean",
          "description": "Whether to enable row prefetching for improved performance"
        },
        "rowPrefetchSize": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of rows to prefetch"
        },
        "scope": {
          "type": "string",
          "enum": ["Global", "Application"],
          "description": "Data source scope"
        }
      }
    },
    "jdbcDriverParams": {
      "type": "object",
      "description": "JDBC driver configuration including class name, URL, and connection properties",
      "properties": {
        "driverName": {
          "type": "string",
          "description": "Fully qualified JDBC driver class name (e.g., oracle.jdbc.OracleDriver)"
        },
        "url": {
          "type": "string",
          "description": "JDBC connection URL (e.g., jdbc:oracle:thin:@//host:1521/service)"
        },
        "password": {
          "type": "string",
          "description": "Database password (stored encrypted in WebLogic configuration)"
        },
        "useXaDataSourceInterface": {
          "type": "boolean",
          "description": "Whether to use the XA data source interface"
        },
        "properties": {
          "type": "object",
          "description": "JDBC driver connection properties",
          "properties": {
            "properties": {
              "type": "array",
              "items": { "$ref": "#/$defs/property" }
            }
          }
        }
      }
    },
    "jdbcConnectionPoolParams": {
      "type": "object",
      "description": "Connection pool configuration parameters",
      "properties": {
        "initialCapacity": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of physical database connections to create at pool initialization"
        },
        "maxCapacity": {
          "type": "integer",
          "minimum": 1,
          "description": "Maximum number of physical database connections in the pool"
        },
        "minCapacity": {
          "type": "integer",
          "minimum": 0,
          "description": "Minimum number of physical connections maintained in the pool"
        },
        "capacityIncrement": {
          "type": "integer",
          "minimum": 1,
          "description": "Number of connections created when demand exceeds supply"
        },
        "testConnectionsOnReserve": {
          "type": "boolean",
          "description": "Whether to test connections when they are reserved from the pool"
        },
        "testTableName": {
          "type": "string",
          "description": "Table name or SQL query used to test connections (e.g., 'SQL ISVALID')"
        },
        "testFrequencySeconds": {
          "type": "integer",
          "minimum": 0,
          "description": "Seconds between connection pool health tests"
        },
        "shrinkFrequencySeconds": {
          "type": "integer",
          "minimum": 0,
          "description": "Seconds between attempts to shrink the pool"
        },
        "connectionCreationRetryFrequencySeconds": {
          "type": "integer",
          "minimum": 0,
          "description": "Seconds between retries when connection creation fails"
        },
        "connectionReserveTimeoutSeconds": {
          "type": "integer",
          "minimum": 0,
          "description": "Maximum seconds to wait for a connection from the pool"
        },
        "inactiveConnectionTimeoutSeconds": {
          "type": "integer",
          "minimum": 0,
          "description": "Seconds before an inactive connection is reclaimed"
        },
        "statementCacheSize": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of prepared/callable statements cached per connection"
        },
        "statementCacheType": {
          "type": "string",
          "enum": ["LRU", "FIXED"],
          "description": "Statement cache eviction strategy"
        },
        "removeInfectedConnections": {
          "type": "boolean",
          "description": "Whether to remove connections that have been involved in errors"
        },
        "secondsToTrustAnIdlePoolConnection": {
          "type": "integer",
          "minimum": 0,
          "description": "Seconds a connection can remain idle and still be trusted"
        }
      }
    },
    "property": {
      "type": "object",
      "description": "Key-value property for JDBC driver configuration",
      "required": ["name", "value"],
      "properties": {
        "name": {
          "type": "string",
          "description": "Property name (e.g., portNumber, databaseName, serverName)"
        },
        "value": {
          "type": "string",
          "description": "Property value"
        }
      }
    }
  }
}