在 AEM CQ 中,我使用资产管理器 api 在 dam 中编写内容(上传的图像)。这会触发开箱即用的 Dam Update Asset 工作流程。我需要阅读工作流完成后将写入可用的演绎版和资产属性。我的问题是如何等到工作流程完成才能读取资产属性而不是 thread.sleep。
我尝试在资产属性存在时使用递归函数调用进行迭代。这给出了空指针异常。但是当我在迭代中放置一个 50 毫秒的 thread.sleep 时,它对我有用。
另一种方法我试图让服务中的工作流对象读取工作流状态,但发现在写入内容后启动 ootb 工作流需要几毫秒。这里还得给thread.sleep。
又一次尝试使用事件处理程序来监听工作流事件。我们可以在工作流程完成时输入事件类型。如何通知服务或 jsp 工作流已完成并且我们可以读取资产属性和演绎版?
如果有人可以分享他们对该方法的建议反馈,那就太好了。谢谢你。