如何使用 Java 代码将 Akamai FastPurgeAPI 集成到 AEM 中?

问题描述 投票:0回答:1

我正在尝试将 FastPurge API 集成到我的 AEM 事件侦听器中。我已阅读文档但无法遵循它。

下面,我附上了我的听众。

public class PublishListener implements EventHandler() 
private static final Logger logger LoggerFactory.getLogger(PublishListener.class);

    public void handleEvent (Event event) {
    
    try {
    
    logger.info("in Event type:{}", event.getTopic());
    
    if (ReplicationAction, fromEvent (event).getType().equals(ReplicationActionType.ACTIVATE))
    
logger.info("\n Page Published: ()", ReplicationAction.fromEvent (event).getPath());
    
    if(ReplicationAction.fromEvent (event).getType().equals(ReplicationActionType.DEACTIVATE) || ReplicationAction.fromEvent (event).getType().equals(ReplicationActionType.DELETE)) 
`logger.info("In Page Deactivated: (), ReplicationAction.fromEvent (event).getPath())`;
    
    } 
catch (Exception e) {
    
    logger.info("in Error", e.getMessage());}}

您能帮我将代码与 akamai 的 fastpurge API 集成来进行清除吗?

提前致谢!

java integration aem akamai purge
1个回答
0
投票

我们的方法是添加由 akamai 复制代理执行的复制操作 - 这是一个设置起来相当复杂的系统。特别是因为给定页面上的所有动态包含都需要使用其特定的 url 进行清除,而不仅仅是发布的主要页面(这可能不适合您)

使用https://mvnrepository.com/artifact/com.akamai.edgegrid

在复制器中,创建一个 org.apache.sling.event.job.JobManager 对象,并为每个 url 或一组最多 10 个需要处理的 url 添加一个作业(通常在 akamai 中无效)。

在每个作业中,创建 com.akamai.edgegrid.signer.ClientCredential 以及 ApacheHttpClientEdgeGridInterceptor 和 ApacheHttpClientEdgeGridRoutePlanner 对象

根据您阅读的说明构建请求 - 然后使用 EdgeGridInterceptor 和 RoutePlanner 与 HttpClientBuilder 构建您的帖子

然后当您发布它时,它将到达 akamai 中的正确位置。

© www.soinside.com 2019 - 2024. All rights reserved.