
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
Exemple
<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>