Ampliar la configuración de un módulo de servicio para añadir parámetros nombre-valor

La manera más fácil de añadir rápidamente datos de configuración a un módulo de servicio de BOD es ampliar el archivo de configuración de HCL Commerce predeterminado. No es necesario escribir código de analizador, solo deben proporcionarse los parámetros en un archivo XML y, a continuación, recuperarlos en su código Java.

Por qué y cuándo se efectúa esta tarea

Nota: Puesto que los datos de configuración están estructurados como parejas nombre-valor, se aplican las restricciones siguientes:
  • Cada nombre de datos de configuración debe ser exclusivo.
  • Los datos no se pueden estructurar como relaciones padre-hijo.
Para añadir datos de configuración como parejas nombre-valor a un módulo de servicio:

Procedimiento

  1. Cree un archivo llamado wc-component.xml en el workspace_dir\WC\xml\config\servicemodulename-ext\ directorio, donde servicemodulename es el nombre del HCL Commerce o módulo de servicio personalizado.
  2. Pegue el XML siguiente en el archivo:
    <_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 >
    donde MyConfigurationGroupes un nombre para la agrupación lógica de datos de configuración y myName y myValue son la pareja nombre-valor que desea añadir.
  3. En el código Java del módulo de servicio, puede acceder a los datos de configuración utilizando código Java similar al ejemplo siguiente:
    String compId = "com.myco.myservicemodule";
    ComponentConfiguration config = ComponentConfigurationRegistry.instance().getComponentConfiguration(compId);
    
    List configNodes = (List) config.getComponentConfiguration(ExtendedConfigurationConfigNode.class.getName(), null);
    
    para (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");
    			
    }
    Observe que las series MyConfigurationGroup y MyName se utilizan para recuperar los valores de configuración.