Introduction

Dans le cas d'une application web utilisant un pool de connexions, tous les utilisateurs passent par le même profil pour accéder au serveur et utilisent donc le même contexte.
Si l'on veut utiliser un contexte différent en fonction de l'utilisateur, tout en restant en mode poolé, il faudra utiliser des pools nommés et donc affecter un utilisateur à un pool nommé donné.

Utilisation

Dans le but d'utiliser des pools de connection nommés, il faut déposer dans le répertoire classes de l'application web des fichiers qui auront la forme suivante :

poolSession_<nomPool>.properties

Par exemple poolSession_espagne.properties.

Ce fichier de pool sera issu d'un fichier pool.properties standard, dupliqué et renommé.
Il est présent initialement pour modèle dans le répertoire C:\Program Files\Adelia Studio\javarun d'une installation standard.

Dans ce fichier de pool nommé, il faut ajouter la clef FileCfg en regard de laquelle on renseignera le nom du fichier de type MWCLIENT.INI à utiliser pour ce pool particulier, par exemple MWCLIENT_ESPAGNE.INI.

De fait, il faut mettre un fichier MWCLIENT_ESPAGNE.INI (attention à ce que la casse soit identique) dans le répertoire classes de l'application web, qui fera l'association entre le serveur logique et un serveur physique correspondant aux utilisateurs affectés à ce pool.

Un fichier "normal" MWCLIENT.INI devra être présent qui sera utilisé par les utilisateurs n'utilisant pas de pool nommé.

Pour qu'une session web soit affectée à un pool nommé et donc qu'elle utilise le bon contexte, il suffira d'inscrire dans le contexte session le nom du pool (dans l'exemple espagne) sous la clef AdeliaKeyPoolName.

Par exemple avec le code suivant :

a50valeur = 'espagne'
SAUVER_CTX 'AdeliaKeyPoolName' 'session' a50valeur

Dans le répertoire classes on va trouver :

  • MWCLIENT.INI
  • MWCLIENT_ESPAGNE.INI
  • MWCLIENT_ITALIE.INI
  • pool.properties (non obligatoire)
  • poolSession_espagne.properties (avec clef FileCfg:MWCLIENT_ESPAGNE.INI)
  • poolSession_italie.properties (avec clef FileCfg:MWCLIENT_ITALIE.INI)

Un premier programme devra être créé en mode non connecté qui lira les informations de l'utilisateur en base de données (donc en utilisant le pool standard et le fichier MWCLIENT.INI standard).

Puis en fonction des caractéristiques de l'utilisateur, il écrira la clef AdeliaKeyPoolName avec la valeur italie ou espagne.

Ce programme fera ensuite l'appel (traiter_pgm) des programmes créés eux aussi en mode non connecté qui utiliseront du coup le bon pool nommé.

Tous les programmes sont donc à créer et compiler en mode non connecté, y compris le programme initial.