【问题标题】:How to read a JCR Node's properties BEFORE it's deleted in Adobe Experience Manager?如何在 Adob​​e Experience Manager 中删除 JCR 节点的属性?
【发布时间】:2020-02-28 11:28:01
【问题描述】:

我需要在 OTB 删除工作流物理删除节点之前审核 JCR 节点的属性。

AEM 提供了几种侦听已删除事件的方法。我已经尝试过 EventListener 和 ResourceChangeListner。当触发删除时,这两种情况都会提醒我的代码。但是,在 onChange 路径上执行 session.getNode 时,我收到“不存在”。

为了验证我使用的是正确的会话/用户/等,我测试了我 AM 能够检索节点的父节点。因此,这证明我拥有正确的权限,并且在节点已经消失后通知我的侦听器。此外,我至少看过一次这项工作,所以这显然是一种竞争条件。有时我会在节点消失之前收到警报,有时我不会。

那么,我如何保证我的代码将在 JCR 节点实际消失之前被调用?

在您引用this post 之前,我将应用解决方案#2 和#3。两者都有相同的比赛条件结果。 #1 没有描述如何与现有的 OTB AEM“删除”“工作流程”联系起来,这可能吗?

【问题讨论】:

标签: adobe workflow aem jcr


【解决方案1】:

要回答您的最后一个问题,是的,这是可能的,我认为这是最简单的方法。
请参阅here 如何扩展工作流。
并查看 here in the official documentation 如何以编程方式与工作流交互。

如果您需要读取特定节点上的数据,您还可以编写自己的工作流并使用工作流启动器将其应用到这些节点上。见this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2017-07-19
    相关资源
    最近更新 更多