vendredi 18 novembre 2011

JYTHON - Manipuler les ressources JDBC

Ce petit tuto vous explique comment manipuler les objets WebSphere via Jython.
L'objectif étant de récupérer de manière automatique des valeurs relatives à la configuration JDBC d'une application.

1 - Dans un premier temps, il faut se connecter en wsadmin sur le serveur d'application de votre choix.

Pour la connexion, consulter ce lien
http://admin2base.blogspot.com/2011/11/was-connexion-wsadmin-pour-jython.html

/appli/test >wsadmin.sh

WASX7209I: Connected to process "server1" on node siphnosNode using SOAP connector;  The type of process is: UnManagedProcess
WASX7031I: For help, enter: "print Help.help()"


2 - Récupérer les identifiant de ressources de la JVM

La ressource JDBC est liée à la JVM et non à l'application. Ce n'est que dans un deuxième temps (une fois l'application déployée) que l'on mappe cette ressource à l'application.
Il faut donc chercher l'identifiant de ressource qui se ramène au serveur d'application.

wsadmin>$AdminConfig getid /JDBCProvider:/

"Derby JDBC Provider (XA)(cells/
CellName/Application 1.ear/deployments/application1|resources.xml#builtin_jdbcprovider)"
"Derby JDBC Provider (XA)(cells/
CellName/applications/Application2.ear/deployments/Application2|resources.xml#builtin_jdbcprovider)"
"Derby JDBC Provider (XA)(cells/
CellName/applications/Application3.ear/deployments/Application3|resources.xml#builtin_jdbcprovider)"
"Derby JDBC Provider (XA)(cells/
CellName/applications/Application4.ear/deployments/Application4.xml#builtin_jdbcprovider)"
"Derby JDBC Provider(cells/CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1265195948776)"
"Oracle JDBC Driver(cells/
CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1275658163588)"

En l'occurence, nous recherchons des informations sur notre driver JDBC Oracle (non XA)
"Oracle JDBC Driver(cells/CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1275658163588)"

3 - Maintenant que nous avons l'identifiant de ressources, nous allons pouvoir l'interroger pour obtenir les informations que nous cherchons:

wsadmin>$AdminConfig show {propertySet (cells/CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1275658163588)}
{classpath ${ORACLE_JDBC_DRIVER_PATH}/ojdbc14.jar}
{description "Oracle JDBC Driver"}
{implementationClassName oracle.jdbc.pool.OracleConnectionPoolDataSource}
{name "Oracle JDBC Driver"}
{nativepath {}}
{providerType "Oracle JDBC Driver"}
{xa false}



On retrouve bien les informations relative au driver.




La prochaine étape, nous effectuerons une extraction des données relatives aux datasources ...
To be continued

Aucun commentaire:

Enregistrer un commentaire