Activation d'un pilote DB2 JDBC de Type 2 sur z/OS

Le serveur Liberty peut être activé pour interagir avec DB2 via l'implémentation du pilote JDBC de type 2 sous z/OS.

Avant de commencer

Le processus ange doit être démarré avant d'activer cette prise en charge. Pour plus d'informations, voir Administration de Liberty sous z/OS. Vous pouvez configurer un serveur Liberty pour s'exécuter en tant que tâche démarrée z/OS. Pour plus d'informations, voir Configuring a Liberty server as a z/OS started task.

Pourquoi et quand exécuter cette tâche

Si vous utilisez une ressource compatible avec RRS telle que DB2, vous pouvez choisir les configurations facultatives suivantes :
  • Le serveur peut être configuré pour supprimer automatiquement les noms des gestionnaires de ressources du flux de journalisation RM.DATA de RRS lorsqu'il est arrêté. Cette configuration est optionnelle ; en l'activant, vous évitez l'accumulation des noms de gestionnaire de ressources dans le flux de journalisation. Pour activer la suppression automatique des noms de gestionnaire de ressource, configurez RACF afin qu'il autorise le serveur à appeler la macro ATRSRV. Pour pouvoir activer la suppression automatique de nom de gestionnaire de ressources, l'ID utilisateur qui exécute le serveur Liberty doit disposer du droit ALTER dans la classe FACILITY :
    • la ressource MVSADMIN.RRS.COMMANDS.gname.sysname pour accéder à un système (sysname) et à un nom de groupe (gname) de journalisation spécifique
    • la ressource MVSADMIN.RRS.COMMANDS.*, pour accéder à tous les systèmes et noms de groupe de journalisation.
  • Vous pouvez définir le flux de journalisation RM.METADATA de manière à consigner des données qui aideront au débogage. L'ID utilisateur qui exécute le serveur Liberty doit disposer du droit ALTER dans la classe FACILITY, comme décrit.
Remarque : Pour plus d'informations sur la macro ATRSRV, sur le réglage de l'autorisation RACF appropriée et sur la façon de définir le flux de journalisation RM.METADATA, référez-vous à la publication MVS Programming: Resource Recovery correspondant au niveau z/OS de votre système.
  • Vous pouvez contrôler la durée d'attente pour laisser aux transactions utilisant activement des contextes natifs le temps de s'achever lorsque le serveur est arrêté ou lorsque la fonction zosTransaction-1.0 n'est plus nécessaire. A cet effet, utilisez l'élément de configuration nativeTransactionManager et l'attribut shutdownTimeout.
  • Vous pouvez limiter les droits dont disposent les utilisateurs pour effectuer un travail transactionnel impliquant des ressources compatibles RRS (par exemple, DB2 T2) sur un serveur particulier. A cet effet, utilisez l'élément de configuration nativeTransactionManager et l'attribut resourceManagerNamePrefix.
    Remarque : L'attribut resourceManagerNamePrefix spécifie un préfixe de 1 à 8 caractères alphanumériques seulement (A-Z, a-z, 0-9) et et symboles spéciaux (@,#,$) à utiliser comme nom du gestionnaire de ressources généré par le serveur enregistré avec RRS. Le préfixe "DEFAULT" est un préfixe réservé qui identifie une configuration de serveur par défaut et qui ne doit pas être utilisé pour la sécurisation de l'accès au serveur. Si le préfixe configuré n'obéit pas à toutes ces règles (nom réservé, longueur et caractères autorisés), le préfixe DEFAULT est utilisé. Le rôle du préfixe est de permettre aux administrateurs système de faire en sorte que seuls les utilisateurs autorisés puissent effectuer des travaux transactionnels (normaux et de récupération) impliquant des ressources compatibles RRS. Par exemple, DB2 T2 sur le serveur sur lequel le préfixe a été configuré. Les administrateurs système doivent définir une ressource BBG.RMNAME.<PREFIXE>.RRS sous la classe SERVER et octroyer le droit de lecture (READ) aux utilisateurs voulus.

    Ces exemples décrivent la configuration optionnelle dont il est question ici :

    Définition des attributs et des éléments Server.xml :
    <nativeTransactionManager shutdownTimeout="20s" resourceManagerNamePrefix="PROD1"/>
    Définition de la ressource RACF et autorisation des utilisateurs :
    RDEF SERVER BBG.RMNAME.PROD1.RRS UACC(NONE)
    PERMIT BBG.RMNAME.PROD1.RRS CLASS(SERVER) ACCESS(READ) ID(PROD1USR)
    SETR RACLIST(SERVER) GENERIC(SERVER) REFR

    Pour obtenir plus d'informations sur l'élément nativeTransactionManager, voir z/OS Transaction Management.

Procédure

  1. Mettez à jour le fichier de configuration server.xml du serveur Liberty. Ajoutez le sous-élément de la fonction zosTransaction-1.0 à l'élément featureManager :
    <featureManager>
      <feature>zosTransaction-1.0</feature>
    </featureManager>
    La spécification de cette fonction permet au serveur d'applications de synchroniser et de gérer de manière appropriée l'activité de transaction entre RRS (Resource Recovery Services), le gestionnaire de transactions du serveur d'applications et le gestionnaire de ressources. Ainsi, sans la configuration de la fonction zosTransaction-1.0, aucun travail n'est autorisé.
  2. Ajoutez les bibliothèques natives de la ressource (DB2) à l'élément de configuration <library> de cette ressource : L'élément <library> doit avoir une forme similaire à celle de l'exemple suivant :
    <library id ="DB2T2LibRef">
      	<fileset dir="<YOUR DB2 T2 LIBRARY PATHS>" />
    	  <fileset dir="<YOUR DB2 T2 NATIVE LIBRARY PATHS>" />
    </library>	
  3. Configurez les éléments jdbcDriver et datasource.

    Lorsque vous définissez l'élément datasource, vous pouvez omettre la configuration de l'attribut type car la valeur javax.sql.ConnectionPoolDataSource est utilisée par défaut. Si vous choisissez de configurer explicitement l'attribut de type, vous devez utiliser la valeur javax.sql.ConnectionPoolDataSource.

    L'élément datasource peut inclure un élément enfant nommé properties.db2.jcc. Les attributs fournis dans l'élément properties.db2.jcc sont directement transmis au pilote DB2 JCC. L'attribut driverType est obligatoire et il doit être défini sur 2. L'attribut databaseName est également obligatoire. L'attribut ssid n'est pas obligatoire mais il peut être utilisé pour contrôler à quel sous-système DB2 for z/OS cette source de données se connecte si plusieurs sous-système DB2 existent sur le LPAR.

Exemple

Cet exemple décrit comment configurer votre application, le pilote jdbc, la bibliothèque, l'ensemble de fichiers et les éléments de la source de données dans le fichier de configuration server.xml.
<application type="war" id="db2T2TxWar" name="db2T2TxWar"
             location="/u/user1/wlp/usr/servers/defaultServer/dropins/db2T2Tx.war" />
<jdbcDriver id="DB2T2" libraryRef="DB2T2LibRef"/>

<library id="DB2T2LibRef">
  <fileset dir="/db2v10/jcc/classes" />
  <fileset dir="/db2v10/jcc/lib" />
</library>

<dataSource id="jdbc/DB2T2" jndiName="jdbc/DB2T2" jdbcDriverRef="DB2T2" type="javax.sql.ConnectionPoolDataSource">
  <properties.db2.jcc driverType="2" databaseName="LOC1" />
</dataSource>

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_using_DB2JDBCtype2drv_zos.html