Creating a DataSource in WebLogic Using WLST

Creating JDBC DataSources in WebLogic Server using WLST (WebLogic Scripting Tool),including authentication, connection pool configuration, and deployment targets.

Prerequisites:

WebLogic Server installed
JDBC driver JAR available (e.g., ojdbc8.jar for Oracle)
Admin credentials and server URL

Basic WLST DataSource Creation Script:

Save as create_datasource.py:

# Connect to Admin Server
connect('weblogic', 'welcome1', 't3://localhost:7001
edit()
startEdit()

# Create JDBC DataSource
cd('/')
cmo.createJDBCSystemResource('MyDS')
cd('/JDBCSystemResources/MyDS/JDBCResource/MyDS')
cmo.setName('MyDS')

# JDBC DataSource Parameters
cd('/JDBCSystemResources/MyDS/JDBCResource/MyDS/JDBCDataSourceParams/MyDS')
cmo.setJNDINames(['jdbc/MyDS'])  # JNDI Name
cmo.setGlobalTransactionsProtocol('TwoPhaseCommit')  # For XA transactions

#JDBC Driver Properties
cd('/JDBCSystemResources/MyDS/JDBCResource/MyDS/JDBCDriverParams/MyDS')
cmo.setUrl('jdbc:oracle:thin:@//localhost:1521/ORCLPDB1')
cmo.setDriverName('oracle.jdbc.OracleDriver')
cmo.setPassword('db_password')

cd('/JDBCSystemResources/MyDS/JDBCResource/MyDS/JDBCDriverParams/MyDS/Properties/MyDS')
cmo.createProperty('user')
cd('/JDBCSystemResources/MyDS/JDBCResource/MyDS/JDBCDriverParams/MyDS/Properties/MyDS/Properties/user')
cmo.setValue('db_user')

# Connection Pool Settings

cd('/JDBCSystemResources/MyDS/JDBCResource/MyDS/JDBCConnectionPoolParams/MyDS')cmo.setInitialCapacity(5)       # Initial connections
cmo.setMaxCapacity(20)          # Max connections
cmo.setMinCapacity(5)           # Min connections
cmo.setStatementCacheSize(100)  # Cached statements

# Deploy to Target Server(s
cd('/JDBCSystemResources/MyDS')
targets = ObjectName('com.bea:Name=AdminServer,Type=Server')
set('Targets',jarray.array([targets], ObjectName))

save()
activate()
disconnect()
exit()

Running the Script

Execute via WLST:

$WL_HOME/common/bin/wlst.sh create_datasource.py

Advanced Configurations

Adding Connection Testing

cd('/JDBCSystemResources/MyDS/JDBCResource/MyDS/JDBCConnectionPoolParams/MyDS')

cmo.setTestConnectionsOnReserve(true)

cmo.setTestTableName('SQL SELECT 1 FROM DUAL')  # Oracle test query

Comments

Popular posts from this blog

Interview question for File and FTP Adapter

What is boot.properties file and how to create

SSL Exceptions in Admin Server and Node Manager.