CQ5.3: How to activate to a specific replication agent

Question

How do I programmatically activate pages to only certain replication agents?

Answer, Resolution

You can create a ReplicationOptions [2] object with an AgentFilter [2]:

       ReplicationOptions opts = new ReplicationOptions();
       opts.setFilter(new AgentFilter(){
           public boolean isIncluded(final Agent agent) {
               return "expectedAgentId".equals(agent.getId());
           }
       });

then use the Replicator"s [3] replicate method:

   /**
    * Triggers a new replication with supplied options.
    *
    * @param session user session
    * @param type The type of replication
    * @param path The path specified the content to be replicated
    * @param options Additional replication options
    * @throws ReplicationException if an error occurs
    */
   void replicate(Session session, ReplicationActionType type, String path,
                  ReplicationOptions options)

Applies to

CQ5.x

References

[1] http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/replication/ReplicationOptions.html
[2] http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/replication/AgentFilter.html
[3] http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/replication/Replicator.html

 

Other Related Articles:

 Adobe

Get help faster and easier

New user?