如何在cq5工作流程中以编程方式激活页面

Par*_*086 6 aem

我试图从代码中激活一些页面.我创建了一个工作流程,只要在其他一些引用此页面的页面中修改某些内容,就会修改页面.我试图通过设置激活属性来做到这一点:

parentpage.setProperty("cq:lastModified", Calendar.getInstance());
parentpage.setProperty("cq:lastModifiedBy", session.getUserID());
Run Code Online (Sandbox Code Playgroud)

虽然每次都会设置此属性.但是在发布实例中没有发生激活.我们如何激活自定义工作流本身的程序化盟友?

Tom*_*wek 8

使用ReplicatorOSGi服务:

@Component
public class MyComponent {

    @Reference
    private Replicator replicator;

    private void activatePage(Session session) {
    //...
        replicator.replicate(session, ReplicationActionType.ACTIVATE, pathToPage);
    //...
    }
}
Run Code Online (Sandbox Code Playgroud)

您无需设置任何属性.