Ejemplo: creación de un proveedor de JDBC y un origen de datos con la API de Java Management Extensions y la herramienta de scripts wsadmin

El código de ejemplo siguiente es un script JACL (wsadmin - herramienta de scripts) que se utiliza para crear orígenes de datos.

Utilice este script para crear únicamente orígenes de datos para los que el producto no proporciona una plantilla. Para cada proveedor de JDBC al que WebSphere Application Server da soporte, el producto proporciona la plantilla de origen de datos correspondiente. Consulte el tema Creación de objetos de configuración mediante la herramienta wsadmin para obtener instrucciones sobre cómo utilizar el mandato createUsingTemplate para establecer estos orígenes de datos. Para obtener una lista completa de proveedores de JDBC soportados y, por lo tanto, una lista completa de orígenes de datos que se deban crear con una plantilla, consulte el tema sobre valores obligatorios mínimos de origen de datos por proveedor.

Este script configura los objetos JDBC de ejemplo siguientes:
  • Crea un origen de datos fvtDS_1
  • Crea un origen de datos fvtDS_3 4.0
  • Crea un origen de datos CMP (persistencia gestionada por contenedor) enlazado con fvtDS_1
Atención: Si más adelante modifica la classpath o la vía de acceso a la biblioteca nativa del proveedor de JDBC asociado al origen de datos, debe reiniciar todos los servidores de aplicaciones dentro del ámbito de ese proveedor de JDBC para que funcione la nueva configuración. De lo contrario, recibirá mensajes de anomalías en el origen de datos.
#AWE -- Configure los orígenes de datos XA DB2, las dos versiones de orígenes de datos, de la versión 4.0 y compatibles con Connector architecture)


#ACTUALICE ESTOS VALORES:
#La classpath que utilizará el controlador de la base de datos
set driverClassPath "c:/sqllib/java/db2java.zip"

set server "server1"

set fvtbase "c:/wssb/fvtbase"

#Usuarios y contraseñas...
set defaultUser1 "dbuser1"
set defaultPassword1 "dbpwd1"
set aliasName "alias1"

set databaseName1 "jtest1"
set databaseName2 "jtest2"
#FIN DE LAS ACTUALIZACIONES

puts "Add an alias alias1"
set cell [$AdminControl getCell]  
set sec [$AdminConfig getid /Cell:$cell/Security:/]

#---------------------------------------------------------
# Cree un objeto JAASAuthData para la autenticación gestionada por componente 
#---------------------------------------------------------
puts "create JAASAuthData object for alias1" 

set alias_attr    [list alias $aliasName]
set desc_attr     [list description "Alias 1"]
set userid_attr   [list userId $defaultUser1]
set password_attr [list password $defaultPassword1]
set attrs [list $alias_attr $desc_attr $userid_attr $password_attr]

set authdata [$AdminConfig  create JAASAuthData $sec $attrs] 
$AdminConfig save

set dm [$AdminControl queryNames type=Server,name=dmgr,*]
$AdminControl invoke $dm restart "true true"

puts "Installing DB2 datasource for XA"

puts "Finding the old JDBCProvider.."
#Elimine el antiguo proveedor de jdbc...
set jps [$AdminConfig list JDBCProvider]
foreach jp $jps {
 set jpname [lindex [lindex [$AdminConfig show $jp {name}] 0] 1]
 if {($jpname == "FVTProvider")} {
  puts "Removing old JDBC Provider"
  $AdminConfig remove $jp
  $AdminConfig save
 }
}


#Obtenga el nombre de servidor...
puts "Finding the server $server"
set servlist [$AdminConfig list Server]
set servsize [llength $servlist]
foreach srvr $servlist {
 set sname [lindex [lindex [$AdminConfig show $srvr {name}] 0] 1]
 if {($sname == $server)} {
                puts "Found server $srvr"
  set serv $srvr
 }
}

set desiredNodeName "myNode"
puts "Finding the Node"
set nodelist [$AdminConfig list Node]
foreach node $nodelist {
  set nodename [lindex [lindex [$AdminConfig show $node {name}] 0] 1]
  if {($nodename == $desiredNodeName)} {
    puts "node = $node"
    break
  }
}  

puts "Finding the Resource Adapter"
set ralist [$AdminConfig list J2CResourceAdapter $node]
set ralistlen [llength $ralist]
foreach ra $ralist {
  set raname [lindex [lindex [$AdminConfig show $ra {name}] 0] 1]
  if {($raname == "WebSphere Relational Resource Adapter")} {
    set rsadapter $ra
  }
}
[AIX Solaris HP-UX Linux Windows][z/OS]
#Cree un proveedor de JDBC para los orígenes de datos
puts "Creating the provider for COM.ibm.db2.jdbc.DB2XADataSource"
set attrs1 [subst {{classpath $driverClassPath} 
		{implementationClassName COM.ibm.db2.jdbc.DB2XADataSource}{name "FVTProvider2"} 
		{description "DB2 JDBC Provider"} {xa "true"}}]
set provider1 [$AdminConfig create JDBCProvider $serv $attrs1]
[IBM i]
#Cree un proveedor de JDBC iSeries para los orígenes de
datos
puts "Creating the provider for com.ibm.db2.jdbc.app.UDBXADataSource"
set attrs1 [subst {{classpath $driverClassPath} 
		{implementationClassName com.ibm.db2.jdbc.app.UDBXADataSource}{name "FVTProvider2"} 
		{description "DB2 UDB for iSeries JDBC Provider"} {xa "true"}}]
set provider1 [$AdminConfig create JDBCProvider $serv $attrs1]
#Cree el primer origen de datos
puts "Creating the datasource fvtDS_1"
set attrs2 [subst {{name fvtDS_1} {description "FVT DataSource 1"}}]
set ds1 [$AdminConfig create DataSource $provider1  $attrs2]

#Establezca las propiedades del origen de datos.
set propSet1 [$AdminConfig create J2EEResourcePropertySet $ds1 {}]

set attrs3 [subst {{name databaseName} {type java.lang.String} {value $databaseName1}}]
$AdminConfig create J2EEResourceProperty $propSet1 $attrs3

set attrs10 [subst {{jndiName jdbc/fvtDS_1} {statementCacheSize 10} 
	{datasourceHelperClassname com.ibm.websphere.rsadapter.DB2DataStoreHelper} 
	 {relationalResourceAdapter {$rsadapter}} {authMechanismPreference "BASIC_PASSWORD"}
	{authDataAlias  $aliasName}}]
$AdminConfig modify $ds1 $attrs10


#Cree el objeto de agrupación de conexiones
$AdminConfig create ConnectionPool $ds1 {{connectionTimeout 1000} 
		{maxConnections 30} {minConnections 1} {agedTimeout 1000}
		{reapTime 2000} {unusedTimeout 3000} }


#Cree los orígenes de datos 4.0
puts "Creating the 4.0 datasource fvtDS_3"
set ds3 [$AdminConfig create WAS40DataSource $provider1 {{name fvtDS_3} {description "FVT 4.0 DataSource"}}]

#Establezca las propiedades en el origen de datos
set propSet3 [$AdminConfig create J2EEResourcePropertySet $ds3 {}]

#Estos atributos deben ser los mismos de fvtDS_1
set attrs4 [subst {{name user} {type java.lang.String} {value $defaultUser1}}]
set attrs5 [subst {{name password} {type java.lang.String} {value $defaultPassword1}}]
$AdminConfig create J2EEResourceProperty $propSet3 $attrs3
$AdminConfig create J2EEResourceProperty $propSet3 $attrs4
$AdminConfig create J2EEResourceProperty $propSet3 $attrs5
set attrs10 [subst {{jndiName jdbc/fvtDS_3} {databaseName $databaseName1}}]
$AdminConfig modify $ds3 $attrs10

$AdminConfig create WAS40ConnectionPool $ds3 {{orphanTimeout 3000} {connectionTimeout 1000} 
		{minimumPoolSize 1} {maximumPoolSize 10} {idleTimeout 2000}}

#Añada una fábrica de conexiones CMP para el origen de datos compatible con
JCA. Este paso no es necesario para 
#orígenes de datos de la versión 4, dado que contienen fábricas de conexiones CMP incorporadas.
puts "Creating the CMP Connector Factory for fvtDS_1"
set attrs12 [subst {{name "FVT DS 1_CF"} {authMechanismPreference BASIC_PASSWORD} 
		{cmpDatasource $ds1} {authDataAlias $aliasName}}]
set cf1 [$AdminConfig create CMPConnectorFactory $rsadapter $attrs12]

#Establezca las propiedades del origen de datos.
$AdminConfig create MappingModule $cf1 {{mappingConfigAlias "DefaultPrincipalMapping"} {authDataAlias "alias1"}}

$AdminConfig save

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdat_scriptool
File name: rdat_scriptool.html