in content/artifacts/daytrader_singleServer.py [0:0]
def createDatasource (datasourceName, jndiName, stmtCacheSz, authAliasName, providerId):
# Connection pool properties
maxConnections = 50
minConnections = 10
print " "
print "Creating DataSource " + datasourceName + "..."
# Check if the DataSource already exists
dsId = ""
dsList = AdminConfig.getid("/DataSource:" + datasourceName + "/")
if (len(dsList) > 0):
for item in dsList.split("\n"):
item = item.rstrip()
provider = AdminConfig.showAttribute(item, "provider" )
if (providerId == provider):
dsId = item
#endIf
#endFor
#endIf
if (dsId == ""):
print " Datasource Name: " + datasourceName
print " JNDI Name: " + jndiName
print " Statement Cache Size: " + str(stmtCacheSz)
print " AuthAliasName: " + authAliasName
# Map provider to datasource template
providerName = getName(providerId)
providerToDsDict = {"Derby JDBC Provider Only":"Derby JDBC Driver DataSource",
"Derby JDBC Provider Only (XA)":"Derby JDBC Driver XA DataSource"}
dsName = providerToDsDict[providerName]
#template = AdminConfig.listTemplates("DataSource", dsName)
template="Derby JDBC Driver XA DataSource(templates/system|jdbc-resource-provider-templates.xml#DataSource_Derby_2)"
attr = [["name", datasourceName], ["jndiName", jndiName], ["statementCacheSize", stmtCacheSz]]
if (authAliasName != ""):
attr.append(["authDataAlias", authAliasName])
#endIf
dsId = AdminConfig.createUsingTemplate("DataSource", providerId, attr, template)
#Update connection pool sizings
pool = AdminConfig.showAttribute(dsId, "connectionPool")
AdminConfig.modify(pool, [["maxConnections", maxConnections], ["minConnections", minConnections]])
#Determine RRA
tempName = providerId[providerId.rfind("/")+1 : providerId.rfind("|")]
if (providerId.find("/servers/") > 0):
radapter = AdminConfig.getid("/Server:" + tempName + "/J2CResourceAdapter:WebSphere Relational Resource Adapter/")
elif (providerId.find("/nodes/") > 0):
radapter = AdminConfig.getid("/Node:" + tempName + "/J2CResourceAdapter:WebSphere Relational Resource Adapter/")
elif (providerId.find("(cells/") > 0):
radapter = AdminConfig.getid("/Cell:" + tempName + "/J2CResourceAdapter:WebSphere Relational Resource Adapter/")
#endIf
#Create CMPConnectionFactory
tempList = AdminConfig.listTemplates('CMPConnectorFactory','default')
template = ""
if (len(tempList) > 0):
for item in tempList.split("\n"):
item = item.rstrip()
if (item[0:20] == "CMPConnectorFactory("):
template = item
break
#endIf
#endFor
#endIf
attr = [["name", datasourceName + "_CF"], ["cmpDatasource", dsId]]
cmpFact_id = AdminConfig.createUsingTemplate("CMPConnectorFactory", radapter, attr, template)
print datasourceName + " created successfully!"
else:
print datasourceName + " already exists in this JDBC Provider!"
#endIf
return dsId