Virtualisation du protocole JDBC
Cette section fournit plus d'informations sur la préparation avant l'utilisation de VSE pour virtualiser le trafic de base de données JDBC. Des informations sur la configuration JDBC sont également disponibles dans la section Installation du simulateur de base de données. Cette section décrit diverses méthodes permettant de combiner la virtualisation JDBC basée sur le pilote et les options de configuration prises en charge. Cette section n'inclut aucune information sur la procédure d'implémentation de la configuration dans un conteneur d'application spécifique.
Remarque : La virtualisation de JDBC fonctionne uniquement avec Java 1.6 (non avec Java 1.5).
Propriétés de System-Level
Vous pouvez spécifier les propriétés suivantes de l'une des manières suivantes :
Si une propriété existe dans les deux emplacements, la propriété système remplace le fichier de configuration.
Détermine si le pilote doit attendre une connexion au VSE avant de traiter des commandes.
Valeur par défaut : false
Détermine si le pilote doit tenter de prendre en charge toutes les connexions à la base de données à partir de cette application.
Valeur par défaut : false
Définit le port d'écoute par défaut.
Valeur par défaut : 2999
Spécifie le niveau de journalisation par défaut.
Valeurs :
Par défaut : WARN
Spécifie l'emplacement d'écriture des journaux.
Valeurs :
Valeur par défaut : stderr
Pilote du VSE (autonome)
Le système testé peut utiliser le pilote de VSE directement ou vous pouvez encapsuler le pilote de VSE dans une source de données, telle que Apache BasicDataSource. Dans ces cas, la configuration (autre que le nom d'utilisateur et le mot de passe) est transmise via l'URL. Les propriétés de pilote sont les suivantes :
Spécifie l'URL transférée au pilote sous-jacent. Elle doit être le dernier élément transmis.
Spécifie l'état initial du pilote.
Valeurs :
Désigne le port d'écoute des connexions provenant de VSE. Cette valeur remplace la propriété de niveau système.
Spécifie le nom de la classe du pilote réel à utiliser.
Spécifiez com.itko.lisa.vse.jdbc.driver.Driver comme nom de la classe du pilote.
L'exemple suivant présente le format de l'URL. Tout est facultatif, sauf le pilote et l'URL.
jdbc:lisasim:driver=<real driver class>;state=<initial state>;jdbcSimPort=<starting port>;url=<real url>
Remarque : L'élément URL doit être placé à la fin. Tous les éléments qui suivent url= seront transmis tels quels au pilote sous-jacent. DevTest prend en charge le transfert d'informations supplémentaires au pilote sous-jacent en les intégrant à l'URL réelle.
Par exemple, l'URL suivante convient à une connexion Derby :
jdbc:lisasim:driver=org.apache.derby.jdbc.ClientDriver;state=watch;jdbcSimPort=4000;url=jdbc:derby://localhost:1527/sample;create=true
Cette URL indique au pilote de VSE de :
Encapsulage d'un pilote à l'aide d'une source de données de VSE
L'encapsulage d'un pilote à l'aide d'une source de données de VSE peut être une configuration plus habituelle pour des conteneurs d'application, comparée à l'utilisation directe d'un pilote de VSE. Le VSE fournit une source de données permettant d'encapsuler un pilote réel. La plupart des conteneurs d'application fournissent un mécanisme permettant de spécifier directement des propriétés pour la source de données.
Spécifiez com.itko.lisa.vse.jdbc.driver.VSEDataSource comme nom de la classe du pilote.
Propriétés de la source de données
Nom du pilote réel à utiliser (configuration normale)
Spécifie l'URL réelle de connexion (ne doit pas commencer par jdbc:lisasim).
Spécifie le port d'écoute des connexions provenant de VSE. Cette valeur remplace la propriété de niveau système.
Liste de paires nom=valeurs séparées par des points-virgules. Ces propriétés sont analysées et déléguées à la source de données encapsulée, le cas échéant. Si le premier caractère n'est pas alphanumérique, il sera utilisé comme délimiteur au lieu du point-virgule.
Encapsulage d'une source de données à l'aide d'une source de données de VSE
L'encapsulage d'une source de données est une configuration inhabituelle, lorsqu'un conteneur d'applications ne permet pas d'instancier un pilote directement avec Class.forName(). Pour l'utiliser, au lieu de spécifier driver=<nom de classe du pilote réel> (par exemple, oracle.jdbc.OracleDriver), spécifiez datasource=<nom de classe de la source de données réelle> (par exemple, oracle.jdbc.pool.OracleDataSource).
Indiquez com.itko.lisa.vse.jdbc.driver.VSEDataSource comme nom de la classe du pilote.
Prise en charge de terminaux multiples
Si une application utilise plusieurs connexions JDBC que vous voulez virtualiser (ou si un serveur d'applications contient plusieurs applications avec des connexions JDBC différentes que vous voulez virtualiser), spécifiez un port JdbcSimPort différent pour chaque connexion. Vous pouvez spécifier ce terminal comme propriété de la source de données du VSE, ou comme paramètre dans l'URL du pilote.
Exemple :
Supposez qu'une application utilise deux connexions JDBC et que vous voulez virtualiser les deux. Supposez que l'application utilise directement des pilotes.
Spécifiez com.itko.lisa.vse.jdbc.driver.Driver pour chaque connexion, avec les paramètres sous-jacents appropriés tels que le pilote et l'URL pour chacune d'elles. Pour la première connexion, vous pouvez spécifier jdbcSimPort=3000 et pour la seconde vous pouvez utiliser jdbcSimPort=3001. Votre configuration peut se présenter comme suit :
connection1.url=jdbc:lisasim:driver=org.apache.derby.jdbc.ClientDriver;jdbcSimPort=3000;url=jdbc:derby://localhost:1527/sample;create=true
connection2.url=jdbc:lisasim:driver=org.apache.derby.jdbc.ClientDriver;jdbcSimPort=3001;url=jdbc:derby://localhost:1527/sample2;create=true
Bien que vous deviez encore effectuer des enregistrement distincts, vous pouvez déployer les deux services simultanément et les démarrer et les arrêter indépendamment.
|
Copyright © 2014 CA Technologies.
Tous droits réservés.
|
|