我正在尝试将 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 集成来进行清除吗?
提前致谢!
我们的方法是添加由 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 中的正确位置。