Extension de la configuration d'un module de service pour ajout de paramètres nom-valeur

La méthode la plus simple pour ajouter rapidement des données de configuration à un module de service BOD consiste à étendre le fichier de configuration HCL Commerce par défaut. Aucun code d'interpréteur n'a à être rédigé, il vous suffit de fournir les paramètres dans un fichier XML, puis de les extraire dans votre code Java.

Pourquoi et quand exécuter cette tâche

Remarque : Dans la mesure où les données de configuration sont structurées sous forme de paires nom-valeur, les restrictions suivantes s'appliquent :
  • Chaque nom de données de configuration doit être unique.
  • Les données ne peuvent pas être structurées dans des relations parent-enfant.
Pour ajouter à un module de service des données de configuration sous forme de paires nom-valeur, procédez comme suit :

Procédure

  1. Créez un fichier appelé wc-component.xml dans le répertoire workspace_dir\WC\xml\config\servicemodulename-ext\, où servicemodulename est le nom du HCL Commerce ou du module de service personnalisé.
  2. Collez le code XML suivant dans le fichier :
    <_config:DevelopmentComponentConfiguration 
    	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.xsd">
    		<_config:extendedconfiguration>
    			<_config:configgrouping name="MyConfigurationGroup">
    				<_config:property name="myName" value="myValue"/>
    			</_config:configgrouping>
    		</_config:extendedconfiguration>
    </_config:DevelopmentComponentConfiguration >
    MyConfigurationGroup est le nom d'un regroupement logique de données de configuration et myName et myValue la paire nom-valeur que vous souhaitez ajouter.
  3. Dans le code Java de votre module de service, vous pouvez accéder aux données de configuration en utilisant un code Java similaire à ceci :
    String compId = "com.myco.myservicemodule";
    ComponentConfiguration config = ComponentConfigurationRegistry.instance().getComponentConfiguration(compId);
    
    List configNodes = (List) config.getComponentConfiguration(ExtendedConfigurationConfigNode.class.getName(), null);
    
    pour (int i=0; i<configNodes.size(); i++)
    {
    	ExtendedConfigurationConfigNode extendedConfig = (ExtendedConfigurationConfigNode) configNodes.get(i);
    	HashMap configMap = (HashMap) extendedConfig.getConfigSection("MyConfigurationGroup") ;
    	String customNewConfigMyValue = (String) configMap.get("myName") ;
    			
    }
    Notez comment les chaînes MyConfigurationGroup et MyName sont utilisées pour extraire les valeurs de configuration.