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)
至此,数据源配置完成