Cómo habilitar la anulación de duplicación de strings en los procesadores de mensajes

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

En este documento, se explica cómo habilitar la anulación de duplicación de cadenas en los procesadores de mensajes de Apigee Edge.

La anulación de duplicación de cadena es una función de Java que te ayuda a ahorrar memoria ocupada por objetos de cadena duplicados en aplicaciones de Java. Reduce el uso de memoria de los objetos de string en la memoria del montón de Java, ya que hace que los valores de string duplicados o idénticos compartan el mismo arreglo de caracteres.

Apigee Edge Message Processor es un componente basado en Java. El uso de la anulación de duplicación de string en un procesador de mensajes puede mejorar el rendimiento de tus proxies de API mediante la reducción del uso de memoria, en especial si los proxies de API hacen un uso intensivo de las strings.

La función de anulación de duplicación de strings solo se puede usar con el recolector de elementos no utilizados de G1 (G1GC) en aplicaciones de Java. Si quieres habilitar esta función en Message Processor, debes tener habilitado G1GC o habilitar tanto G1GC como la anulación de duplicación de cadenas en el Message Processor.

Antes de comenzar

Habilita la anulación de duplicación de cadena en los procesadores de mensajes

En esta sección, se explica cómo habilitar la función de anulación de duplicación de strings en los procesadores de mensajes perimetrales. La anulación de duplicación de string se puede habilitar a través de la propiedad useStringDeduplication en el componente de Message Processor. De forma predeterminada, esta propiedad se establece como falsa en Message Processor. Para configurar cualquier propiedad en Message Processor, usa el token de acuerdo con la sintaxis descrita en Cómo configurar Edge.

Para habilitar la anulación de duplicación de cadena en los procesadores de mensajes, sigue estos pasos:

  1. Encuentra el token para la propiedad useStringDeDuplicación.
  2. Habilita useStringDeduplicate en Message Processor

Cómo ubicar el token para la propiedad useStringDeduplicate

En los siguientes pasos, se describe cómo ubicar el token para useStringDeduplicate:

  1. Busca la propiedad useStringDeduplication en el directorio del código fuente /opt/apigee/edge-message-processor/source de Message Processor con el siguiente comando:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
    
  2. El resultado de este comando muestra el token de la propiedad useStringDeduplication de Message Processor de la siguiente manera:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}
    

    En el ejemplo anterior, la string entre las etiquetas {T}{/T} es el nombre del token que puedes configurar en el archivo .properties de Message Processor. Por lo tanto, el token para la propiedad useStringDeduplication es el siguiente:

    conf_system_useStringDeduplication
    

Habilita la anulación de duplicación de cadenas en los procesadores de mensajes

En los siguientes pasos, se describe cómo habilitar la anulación de duplicación de string en los procesadores de mensajes de Apigee:

  1. Abre el archivo /opt/apigee/customer/application/message-processor.properties en la máquina de Message Processor en un editor. Si el archivo aún no existe, créalo. Por ejemplo:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Agrega la siguiente línea a este archivo:
    conf_system_useStringDeduplication=true
    
  3. Guarda los cambios.
  4. Asegúrate de que este archivo de propiedades sea propiedad del usuario apigee. Por ejemplo:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Reinicia Message Processor con el siguiente comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Si tienes más de un Message Processor, repite estos pasos en todos ellos.

Verifica la anulación de duplicación de strings en los procesadores de mensajes

En esta sección, se explica cómo verificar que la anulación de duplicación de string se haya habilitado de forma correcta en Message Processor.

Aunque uses el token conf_system_useStringDeduplication para habilitar la anulación de duplicación de strings en Message Processor, debes verificar que la propiedad real useStringDeduplication se haya establecido con el valor nuevo de la siguiente manera:

  1. Busca la propiedad useStringDeduplication en el directorio /opt/apigee/edge-message-processor/conf y verifica que se haya configurado con el valor nuevo. Por ejemplo:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. Si la anulación de duplicación de string se habilita correctamente en Message Processor, el comando anterior muestra el valor nuevo en el archivo system.properties.

    El resultado de muestra del comando anterior después de habilitar la anulación de duplicación de string en Message Processor es el siguiente:

    /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
    

    En el resultado de ejemplo, ten en cuenta que la propiedad useStringDeduplication se configuró con el valor nuevo true en system.properties. Esto indica que la anulación de duplicación de string se habilitó correctamente en Message Processor.

  3. Si aún ves el valor anterior de la propiedad useStringDeduplication, verifica si seguiste todos los pasos descritos en Habilita la anulación de duplicación de strings en los procesadores de mensajes de forma correcta. Si omitiste algún paso, repite todos los pasos correctamente.
  4. Si aún no puedes habilitar la anulación de duplicación de strings, comunícate con el equipo de asistencia de Apigee.

Pasos siguientes

Habilita G1GC en los procesadores de mensajes