AEM |为什么不';发布事件是否提供deepPaths事件属性?

AEM |为什么不';发布事件是否提供deepPaths事件属性?,aem,sling,Aem,Sling,我创建了一个OSGiEventHandler来了解Sling CD事件,下面是示例类 @Component(immediate = true, property = { "event.topics=org/apache/sling/distribution/agent/package/distributed", "event.filter=(|(distribution.type=ADD

我创建了一个OSGiEventHandler来了解Sling CD事件,下面是示例类

@Component(immediate = true,
        property = {
                "event.topics=org/apache/sling/distribution/agent/package/distributed",
                "event.filter=(|(distribution.type=ADD)(distribution.type=DELETE))"
        })
public class MyEventHandler implements EventHandler {

    private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

    @Override
    public void handleEvent(Event event) {
        // consume event.
    }
}
使用添加树选项从AEM分发内容时,
org.apache.sling.distribution.SimpleDistributionRequest
中的deepPaths字段将被初始化,但不会发送到事件处理程序

这样我们就永远不会知道这是一个树激活。那么,有没有一种方法可以使用这种方法来了解深度路径

我发现,如果我们订阅这个主题
org/apache/sling/event/notification/job/FINISHED
,并在
(|(distribution.request.type=ADD)(distribution.request.type=DELETE))
上进行筛选,我们可以获得deeppath以及其他几个事件属性,但我不确定这是否是正确的方法


请给出建议。

正在寻找相同的答案。如果你能自己解决这个问题,请分享。@RamachandraAPai不幸的是,无法在SCD事件中获得深度路径,我不得不切换到旧的cq复制事件机制,并订阅了我的用例的[com/day/cq/replication]事件主题。