Aem 有没有一种方法可以在不更改时间戳的情况下修改JCR节点?

Aem 有没有一种方法可以在不更改时间戳的情况下修改JCR节点?,aem,jcr,Aem,Jcr,有没有办法修改JCR节点,但保持其JCR:lastModified和JCR:lastModifiedBy属性不变 通过修改,我的意思是通过JCRAPI。例如: aNode.setProperty("propName", aValue); 在大多数情况下,这是可能的。基本上有两个选项,一个节点如何检索这两个属性并更新它们。 或者通过一些更高级别的API,比如CQ的PageManager,将其应用于jcr:content节点,或者如果节点的类型层次结构中有mixin类型mix:lastModifi

有没有办法修改JCR节点,但保持其
JCR:lastModified
JCR:lastModifiedBy
属性不变

通过修改,我的意思是通过JCRAPI。例如:

aNode.setProperty("propName", aValue);

在大多数情况下,这是可能的。基本上有两个选项,一个节点如何检索这两个属性并更新它们。 或者通过一些更高级别的API,比如CQ的PageManager,将其应用于jcr:content节点,或者如果节点的类型层次结构中有mixin类型mix:lastModified,则通过repo

[mix:lastModified]
  mixin
  - jcr:lastModified (DATE) autocreated
  - jcr:lastModifiedBy (STRING) autocreated
在这种情况下,通过存储库自动管理属性


因此,只要您避免在其类型层次结构(例如nt:resource)中使用提到的mixin创建节点,就可以了。

从何处开始?你需要更具体地说明你想做什么。我认为通过groovy控制台可以更新一些节点属性并保持这些属性不变。不确定。我将尝试返回。在创建节点后,jcr:created和jcr:createdBy永远不会更改。你是在说cq:lastModified和cq:lastModifiedBy吗?@Bogdan@Thomas向你道歉!我问的是
jcr:lastModified
jcr:lastModifiedBy
属性。当执行
node.setProperty(…)
时,Jackrabbit或Oak存储库实现不会自动设置.jcr:lastModified。如果需要,则必须将这些属性定义为受保护,请参见规范。发生的情况是AEM将在应用程序级别为所有cq:页面和其他一些类型更新这些属性。