Dans le cas d'un serveur Web de type WebSphere ou Tomcat, il est possible de définir à l'extérieur d'une application Web, des ressources dont l'accès est sous forme d'URL. Adélia essaie en premier d'utiliser l'URL ; si elle n'est pas définie, Adélia recherche ensuite le fichier dans le contexte d'exécution.
Les fichiers de configuration du runtime Adélia gérés en tant que ressources externes sont les suivants :
Le fichier CfgConfiguration.properties
URL : url/adelia/CfgConfiguration.Les fichiers de configuration du pool de sessions Middleware
URL : url/adelia/poolSession_<NomPool>
(avec NomPool = Pool dans le cas du fichier Pool.properties (pool par défaut))Les fichiers de configuration du préparateur de sessions Middleware
URL : url/adelia/SessionPrep_<NomPreparateurDeSessions>Le fichier MWCLIENT.INI
La référence au fichier ou URL est faite par l'intermédiaire de la clé ID_FILE_CONFIG :
ID_FILE_CONFIG = [URL]<nom resource reference> ;<nom (complet) fichier réel>Exemple : ID_FILE_CONFIG =[URL]url/monMwClient;MWCLIENT.INI
Le fichier MWSERVER.INI
La référence au fichier ou URL est faite par l'intermédiaire de la clé ID_FILE_CONFIG_SRV :
ID_FILE_CONFIG_SRV = [URL]<nom resource reference> ;<nom (complet) fichier réel>Le fichier apiva.properties
La référence au fichier ou URL est faite par l'intermédiaire de la clé ID_FILE_CONFIG_APIVA :
ID_FILE_CONFIG_APIVA =[URL]url/apiva;apiva.propertiesLe fichier CfgWebServices.xml
La référence au fichier ou URL est faite par l'intermédiaire de la clé ID_FILE_CONFIG_WEBSERVICES :
ID_FILE_CONFIG_WEBSERVICES=[URL]url/cfgwebservices;CfgWebServices.xmlLe fichier log4j2.xml
La référence au fichier ou URL est faite par l'intermédiaire de la clé ID_FILE_CONFIG_LOG4J :
ID_FILE_CONFIG_LOG4J=[URL]url/log4j;log4j2.xml
Mise en œuvre
Les ressources à externaliser doivent être déclarées dans le fichier web.xml de l'application Web de la façon suivante :
<resource-ref id="RessourceUrl_sur_monfichier">
<description>url sur monfichier</description>
<res-ref-name>url/monfichier</res-ref-name>
<res-type>java.net.URL</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
Pour des informations sur la définition des ressources au niveau de WebSphere, cliquer sur le lien suivant :
http://www-128.ibm.com/developerworks/websphere/library/techarticles/0502_botzum/0502_botzum.htmlOn peut aussi trouver des informations dans le Webphere infocenter avec les mots clés "Using URL resources within an application" ou "Externalisation des ressources d'une application Web".
Pour Tomcat la définition d'une ressource se fait en indiquant dans le fichier server.xml ou le fichier xml de contexte associé (conf/localhost/MonAppli.xml) la balise <Resource> suivante:
<Context crossContext="true" debug="5" docBase="MonAppli" path="/MonAppli" reloadable="true">
...
<Resource auth="Container" name="url/monfichier" factory="com.hardis.adelia.common.URLFactory" type="java.net.URL" url="file:///c:/MonRepertoire/fichier.xxx" />
...
</Context>
Remarque :
Pour externaliser aussi les fichiers ".properties" contenant des paramètres d'une application, la fonction de la DLL VaToolBx VaToolBxJavaQueryValue prend en compte les ressources définies comme URL.