Configuration de module de service
Les données de configuration des modules de service BOD sont réparties en configuration de base et configuration personnalisée. Les fichiers de configuration sont chargés avant que le module de service puisse traiter des requêtes de service. Le chargeur de classe de configuration détecte automatiquement les répertoires de configuration en suivant certaines conventions de dénomination.
Chargement de fichier de configuration
Lors de la résolution de la configuration, la configuration personnalisée prévaut toujours sur celle de base. Selon la stratégie de chargement (extension ou remplacement), la configuration de base est soit analysée, soit ignorée. La stratégie de chargement est spécifiée dans l'implémentation de la classe d'analyseur. Vous pouvez vérifier si cette stratégie peut être remplacée par une autre en appelant la méthode isOverridable().
Pour les structures de données de configurations plus complexes ne pouvant pas être représentées facilement par des paires nom-valeur (par exemple, structures lourdes, données imbriquées), vous pouvez fournir votre propre fichier et analyseur de configuration. Ceci implique un travail supplémentaire pour le développeur mais procure une flexibilité totale - n'importe quel type de fichier de configuration peut être lu, analysé et extrait dans le code Java de votre module de service. Si vous rédigez votre propre analyseur de configuration, vous devez étendre la classe abstraite AbstractConfigurationImpl.
- Stratégie d'extension
- Lorsque la stratégie d'extension est utilisée, les informations de configuration d'amorçage et personnalisée sont chargées et renvoyées à l'appelant sous forme de liste d'objets de configuration. La configuration personnalisée précède dans la liste la configuration d'amorçage. L'appelant doit traverser la liste et sélectionner la configuration.
- Stratégie de substitution
- Lorsque la stratégie de substitution est utilisée, le processus de chargement ne charge que la configuration personnalisée. La configuration d'amorçage est ignorée. Par conséquent, les métadonnées éventuelles des fichiers de configuration personnalisés se substitueront à celles de la configuration de base.
Au cours du développement, vous pouvez souhaiter modifier et recharger la configuration sans avoir besoin de redémarrer le serveur. Pour permettre le rechargement à la volée de tous les modules de service, créez un fichier .reloadconfig vide sous le répertoire xml/config/com.ibm.commerce.foundation/. Ceci entraînera la vérification par chaque module de service de l'horodatage de ses fichiers de configuration, chaque fois qu'il sera appelé. Les fichiers de configuration ayant été modifiés depuis leur dernier chargement seront réanalysés. De même, si un fichier de configuration a été ajouté ou supprimé, tous les fichiers de ce même répertoire seront rechargés. Pour permettre le rechargement à la volée d'un module de service spécifique, créez un fichier .reloadconfig vide sous le répertoire de configuration de ce module de service. Par exemple, xml/config/com.myco.myservicemodule. Le rechargement à la volée ne sera activé que pour ce module de service.
Conventions de dénomination
Le chargeur de configuration utilise les noms de répertoires pour détecter les configurations d'amorçage et personnalisée d'un module de service.
- Configuration d'amorçage
- xml/config/servicemodulename/
- Configuration personnalisée
- xml/config/servicemodulename-ext/
- Tous les noms de fichier de configuration par défaut HCL Commerce sont préfixés par
wc-. Par exemple, wc-query.tpl. - Les noms de fichier de configuration d'administration débutent par "wc-admin".
- Les termes descriptifs sont rattachés par des traits d'union. Par exemple, wc-business-context.
- wc-component.xml
- Contient la configuration de développement d'un composant. Peut exister à la fois dans le répertoire de configuration de base et personnalisée.
- wc-admin-component.xml
- Contient la configuration d'administration d'un composant. Peut exister à la fois dans le répertoire de configuration de base et personnalisée.
- wc-application.xml
- Contient les informations de configuration de développement applicables à tous les composants d'une application. Ce fichier n'existe que sous le répertoire constitutif du composant.
- wc-admin-application.xml
- Contient les informations de configuration d'administration applicables à tous les composants d'une application. Ce fichier n'existe que sous le répertoire constitutif du composant.
- SDO.properties
- Utilisé pour charger les classes SDO logiques initialisées. Spécifie une classe qui déclare les classes SDO logiques devant être initialisées. Par exemple, le fichier SDO.properties pour le composant Membre contient :
com.ibm.commerce.member.facade.datatypes.impl.MemberPackageImpl. - wc-component-client.xml
- Spécifie les liaisons URL aux services Web. Le contenu du fichier component-client.xml du module de service Membre figure à titre d'exemple ci-après :
<_config:DevelopmentClientConfiguration xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../xsd/wc-component-client.xsd"> <_config:invocationservice> <_config:invocationbinding bindingImpl="com.ibm.commerce.foundation.internal.client.services.invocation.impl.J2SEWebServiceInvocationBindingImpl"> <_config:property name="url" value="http://hostname:5080/webapp/wcs/component/member/services/MemberServices"/> </_config:invocationbinding> </_config:invocationservice> </_config:DevelopmentClientConfiguration> - wc-business-object-mediator.xml
- Contient les informations de configuration pour le médiateur d'objet métier.
- wc-object-relational-metadata.xml
- Contient des Métadonnées objet-relationnel.
xml/config/xsd. En examinant le fichier XML dans un éditeur, vous pouvez utiliser la définition XSD pour déterminer les éléments respectifs pris en charge, ainsi que les annotations sur la configuration.Fichiers de configuration
- SDO.properties
- wc-admin-component
- wc-business-context
- wc-business-object-mediator.xml
- wc-component.xml
- wc-component-client.xml
- wc-object-relational-metadata.xml
- wc-query-noun-get.tpl
- wc-query-noun-update.tpl
- SDO.properties
- wc-component.xml
- wc-component-client.xml