Websphere 命令列配置DB2資料來源連線池
WAS ND的資料來源連線池在控制檯中很好配置,同樣通過命令列也可以配置,WAS支援兩種語法,Jacl與Jython,個人更喜歡Jython,Jython語法中不用分號結尾,下面是Jython語法的命令列資料來源配置:
1)進入WAS安裝目錄/bin中,執行./wsadmin -user 使用者名稱 -password 密碼 -lang jython啟動WAS命令列控制檯,所有的配置均可以在這裡完成,前提是WAS Node啟動。
2)首先建立JDBCProvider
domain = AdminConfig.getid('/Cell:cellname/Node:nodename/') /*可以通過print provider檢視是否成功建立 ,Cell=AdminControl.getCell() Node=AdminControl.getNode()*/
classpath = ['classpath', 'jar包位置:jar包位置....']
name = ['name', 'GlobalJDBCProvider']
implCN = ['implementationClassName', 'com.ibm.db2.jcc.DB2ConnectionPoolDataSource']
providerType = ['providerType', 'DB2 Universal JDBC Driver Provider']
providerAttrs = [classpath, name, implCN, providerType]
AdminConfig.create('JDBCProvider', domain , providerAttrs)
AdminConfig.save()
建立完成並儲存後,可以在整合控制檯中看到
3)建立J2CAuthentation
security = AdminConfig.getid('/Cell:cellname/Security:/')
alias = ['alias', 'alias']
userid = ['userId', 'userId']
password = ['password', 'password']
securityAttrs = [alias, userid, password]
AdminConfig.create('JAASAuthData', security, securityAttrs)
AdminConfig.save()
建立完成並儲存後,可以在整合控制檯中看到
4)建立DataSource
ds = AdminConfig.getid('/Cell:cellname/Node:nodename/JDBCProvider:jdbcprovidername/')
adas = ['authDataAlias', 'alias'] 與上一步中的alias對應
dhc = ['datasourceHelperClassname', 'com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper']
jndiName = ['jndiName', 'jndiName']
name = ['name', 'name']
dsAttrs = [adas, dhc, jndiName, name]
AdminConfig.create('DataSource', ds, dsAttrs)
AdminConfig.save()
建立完成並儲存後,可以在整合控制檯中看到
5)配置DataSource連線的DB資訊
ds = AdminConfig.getid('/Cell:cellname/Node:nodename/JDBCProvider:jdbcprovidername/DataSource:ds/')
jps = AdminConfig.create('J2EEResourcePropertySet', ds, [])
databaseName = [['name', 'databaseName'], ['value', 'databaseName']]
driverType = [['name', 'driverType'], ['value', '4']]
serverName = [['name', 'serverName'], ['value', 'hostname']]
portNumber = [['name', 'portNumber'], ['value', 'portNumber']]
AdminConfig.create('J2EEResourceProperty', jps, databaseName)
AdminConfig.create('J2EEResourceProperty', jps, driverType)
AdminConfig.create('J2EEResourceProperty', jps, serverName)
AdminConfig.create('J2EEResourceProperty', jps, portNumber)
AdminConfig.save()
建立完成並儲存後,可以在整合控制檯中看到
6)建立ConnectionPool
AdminConfig.create('ConnectionPool', ds, [['maxConnections','10']])
AdminConfig.save()
建立完成並儲存後,可以在整合控制檯中看到
7)測試連線
AdminControl.testConnection(ds)
至此,資料來源配置完成