Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何读取JCR节点';它之前的属性';在Adobe Experience Manager中删除了?_Adobe_Workflow_Aem_Jcr - Fatal编程技术网

如何读取JCR节点';它之前的属性';在Adobe Experience Manager中删除了?

如何读取JCR节点';它之前的属性';在Adobe Experience Manager中删除了?,adobe,workflow,aem,jcr,Adobe,Workflow,Aem,Jcr,在OTB删除工作流实际删除JCR节点之前,我需要审核该节点的属性 AEM提供了几种侦听已删除事件的方法。我尝试了EventListener和ResourceChangeListener。触发删除时,这两种情况都会提醒我的代码。但是,在onChange路径上执行session.getNode时,我收到一个“不存在” 为了验证我使用的会话/用户/etc是否正确,我测试了我是否能够检索节点的父节点。因此,这证明我拥有正确的权限,并且在节点已离开后会通知我的侦听器。而且,我至少看过一次这项工作,所以这显

在OTB删除工作流实际删除JCR节点之前,我需要审核该节点的属性

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

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

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


在您参考之前,我正在应用解决方案2和3。两者具有相同的竞赛条件结果#1没有描述如何与现有OTB AEM“删除”“工作流”相结合,这可能吗?

回答您的最后一个问题,是的,这是可能的,而且在我看来是最简单的方法。
查看如何扩展工作流。
并了解如何以编程方式与工作流交互


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

我不是100%确定。。。但是您可能想查看观察JCR API:这没有帮助:复制OTB工作流,禁用OTB工作流启动器,创建自己的工作流,并通过启动器启用它,然后在那里添加您的需求。