在消息处理器中启用字符串重复信息删除

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

<ph type="x-smartling-placeholder">

本文档介绍了如何在 Apigee Edge 的消息处理器上启用字符串重复信息删除。

字符串重复信息删除是一项 Java 功能,可帮助您节省重复字符串占用的内存 对象。减少了 Java 堆中字符串对象的内存占用量 内存。

Apigee Edge Message Processor 是一个基于 Java 的组件。在消息中使用字符串重复信息删除 处理器可以通过减少内存用量来提高 API 代理的性能,尤其是 如果 API 代理大量使用字符串,则会发生该错误。

字符串重复信息删除功能只能与 Java 中的 G1 垃圾回收器 (G1GC) 搭配使用 应用。如果您想在消息处理器上启用此功能,则需要 已启用 G1GC,或在邮件上同时启用 G1GC 和字符串重复信息删除 处理器。

准备工作

在消息处理器上启用字符串重复信息删除

本部分介绍如何在 Edge Message 上启用字符串重复信息删除功能 处理器。可以通过该属性启用字符串重复信息删除 针对消息处理器组件的 useStringDeduplication 权限。默认情况下, 属性设置为 false。配置消息中的任何属性 处理方,请根据 如何配置 Edge

如需在消息处理器上启用字符串重复信息删除,请执行以下步骤:

  1. 找到 useStringDeduplication 属性的令牌
  2. 对消息处理器启用 useStringDeduplication

找到 useStringDeduplication 属性的令牌

以下步骤介绍了如何找到 useStringDeduplication 的令牌:

  1. 在消息处理器来源中搜索 useStringDeduplication 属性 目录 /opt/apigee/edge-message-processor/source
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
    
  2. 此命令的输出显示了消息处理器属性的令牌 useStringDeduplication
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}
    

    其中,{T}{/T} 标记之间的字符串是 令牌,可在消息处理器的 .properties 文件中设置。因此, 属性 useStringDeduplication 的令牌如下所示:

    conf_system_useStringDeduplication
    

在消息处理器上启用字符串重复信息删除

<ph type="x-smartling-placeholder">

以下步骤介绍了如何在 Apigee 消息处理器上启用字符串重复信息删除:

  1. 在以下设备上打开 /opt/apigee/customer/application/message-processor.properties 文件: 在编辑器中查看消息处理器机器如果该文件尚不存在,请创建一个。 例如:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. 将以下代码行添加到此文件中:
    conf_system_useStringDeduplication=true
    
  3. 保存更改。
  4. 请确保此属性文件归 apigee 用户所有。例如:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. 使用以下命令重启消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. 如果有多个消息处理器,请在所有消息处理器上重复上述步骤。

验证消息处理器上的字符串去重

本部分介绍了如何验证是否已成功启用字符串重复信息删除 对消息处理器的要求

即使您使用令牌 conf_system_useStringDeduplication 来启用字符串 消息处理器上的重复信息删除,您需要验证实际属性 useStringDeduplication 已设置为使用新值,如下所示:

  1. 在以下位置搜索属性 useStringDeduplication/opt/apigee/edge-message-processor/conf 目录,然后检查它是否包含 新值例如:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. 如果在消息处理器上成功启用了字符串重复信息删除,则之前的 命令会显示 system.properties 文件中的新值。

    对 消息处理器如下所示:

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

    请注意,在示例输出中,属性 useStringDeduplication 已在 system.properties 中使用新值 true 进行设置。这表示已成功在消息处理器上启用字符串重复信息删除。

  3. 如果您仍然看到属性 useStringDeduplication 的旧值,则 请确认您已遵循 在消息处理器上启用字符串重复信息删除 正确。如果您遗漏了任何步骤,请再次正确地重复所有步骤。
  4. 如果您仍然无法启用字符串重复信息删除,请联系 Apigee 支持

下一步是什么?

在消息处理器上启用 G1GC