Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Este documento explica como ativar a eliminação de duplicação de strings nos processadores de mensagens do Apigee Edge.
A eliminação de duplicação de strings é um recurso do Java que ajuda a economizar memória ocupada por objetos String duplicados em aplicativos Java. Isso reduz o consumo de memória dos objetos String na memória de heap Java fazendo com que os valores de string duplicados ou idênticos compartilhem a mesma matriz de caracteres.
O Apigee Edge Message Processor é um componente baseado em Java. O uso da eliminação de duplicação de strings em um processador de mensagens pode melhorar o desempenho dos proxies de API reduzindo o uso da memória, especialmente se os proxies de API fazem uso intenso de strings.
O recurso de eliminação de duplicação de strings pode ser usado somente com o Coletor de lixo G1 (G1GC) em aplicativos Java. Se você quiser ativar esse recurso no processador de mensagens, já precisará ativar a G1GC ou ativar a eliminação de duplicação de strings e de G1GC no processador de mensagens.
Antes de começar
- Se você não conhece a G1GC, leia Introdução ao coletor de lixo G1
- Caso você não conheça a eliminação de duplicação de strings, leia Eliminação de duplicação de strings do coletor de lixo G1.
- Se você não sabe como ativar o G1GC em processadores de mensagens de borda, leia Ativar G1GC nos processadores de mensagens.
- Se você não souber como configurar propriedades para o Edge na nuvem privada, leia Como configurar o Edge.
Como ativar a eliminação de duplicação de strings nos processadores de mensagens
Esta seção explica como ativar o recurso de eliminação de duplicação de strings nos processadores de mensagens
de borda. A eliminação de duplicação de strings pode ser ativada pela propriedade
useStringDeduplication
no componente Processador de mensagens. Por padrão, essa propriedade é definida como falsa nos processadores de mensagens. Para configurar qualquer propriedade no processador de mensagens, use o token de acordo com a sintaxe descrita em Como configurar o Edge.
Para ativar a eliminação de duplicação de strings nos processadores de mensagens, siga estas etapas:
- Localize o token para a propriedade useStringDe respectivo
- Ativar useStringDeEliminação no processador de mensagens (link em inglês)
Localizar o token para a propriedade useStringDe respectivo
As etapas a seguir descrevem como localizar o token para useStringDeviolation:
-
Procure a propriedade
useStringDeduplication
no diretório de origem/opt/apigee/edge-message-processor/source
do processador de mensagens usando o seguinte comando:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
-
A saída desse comando mostra o token da propriedade do processador de mensagens
useStringDeduplication
da seguinte maneira:/opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}
A string entre as tags
{T}{/T}
é o nome do token que pode ser definido no arquivo.properties
do processador de mensagens. Assim, o token da propriedadeuseStringDeduplication
é o seguinte:conf_system_useStringDeduplication
Ativar a eliminação de duplicação de string nos processadores de mensagens
As etapas a seguir descrevem como ativar a eliminação de duplicação de string nos processadores de mensagens da Apigee:
-
Abra o arquivo
/opt/apigee/customer/application/message-processor.properties
na máquina do processador de mensagens em um editor. Se o arquivo ainda não existir, crie-o. Por exemplo:vi /opt/apigee/customer/application/message-processor.properties
-
Adicione a seguinte linha a este arquivo:
conf_system_useStringDeduplication=true
- Salve as mudanças.
-
Verifique se esse arquivo de propriedades pertence ao usuário
apigee
. Por exemplo:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Reinicie o processador de mensagens usando o seguinte comando:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Se você tiver mais de um processador de mensagens, repita essas etapas em todos eles.
Como verificar a eliminação de duplicação de string nos processadores de mensagens
Esta seção explica como verificar se a eliminação de duplicação de strings foi ativada nos processadores de mensagens.
Mesmo que você use o token conf_system_useStringDeduplication
para ativar a eliminação de duplicação de strings no processador de mensagens, será necessário verificar se a propriedade real
useStringDeduplication
foi definida com o novo valor da seguinte maneira:
-
Procure a propriedade
useStringDeduplication
no diretório/opt/apigee/edge-message-processor/conf
e verifique se ela foi definida com o novo valor. Por exemplo:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
Se a eliminação de duplicação de strings for ativada no processador de mensagens, o comando
anterior vai mostrar o novo valor no arquivo
system.properties
.O resultado da amostra do comando anterior depois de você ter ativado a eliminação de duplicação de string no processador de mensagens é o seguinte:
/opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
No exemplo de saída, observe que a propriedade
useStringDeduplication
foi definida com o novo valortrue
emsystem.properties
. Isso indica que a eliminação de duplicação de strings foi ativada no processador de mensagens. -
Se o valor antigo da propriedade
useStringDeduplication
ainda aparecer, verifique se você seguiu todas as etapas descritas em Como ativar a eliminação de duplicação de strings nos processadores de mensagens corretamente. Se você esqueceu alguma etapa, repita todas as etapas corretamente. - Se ainda não for possível ativar a eliminação de duplicação de strings, entre em contato com o suporte da Apigee.