Interface DistributionAgent


  • @ConsumerType
    public interface DistributionAgent
    A distribution agent is responsible for handling DistributionRequests. This means executing actions of e.g.: a specific DistributionRequestTypes on specific path(s) which will resume pulling resources from a certain Sling instance and / or pushing resources to other instances.
    • Method Detail

      • getQueueNames

        @NotNull
        @NotNull java.lang.Iterable<java.lang.String> getQueueNames()
        Retrieves the names of the queues for this agent.
        Returns:
        the list of queue names
      • getQueue

        @Nullable
        @Nullable DistributionQueue getQueue​(@NotNull
                                             @NotNull java.lang.String name)
        Get the agent queue with the given name
        Parameters:
        name - a queue name
        Returns:
        a DistributionQueue with the given name bound to this agent, if it exists, null otherwise
      • getLog

        @NotNull
        @NotNull DistributionLog getLog()
        Get the agent log
        Returns:
        the log for this agent
      • getState

        @NotNull
        @NotNull DistributionAgentState getState()
        returns the state of the agent
        Returns:
        the agent state
      • execute

        @NotNull
        @NotNull DistributionResponse execute​(@NotNull
                                              @NotNull ResourceResolver resourceResolver,
                                              @NotNull
                                              @NotNull DistributionRequest distributionRequest)
                                       throws DistributionException
        Perform a DistributionRequest to distribute content from a source instance to a target instance. The content to be sent will be assembled according to the information contained in the request. A DistributionResponse holding the DistributionRequestState of the provided request will be returned. Synchronous DistributionAgents will usually block until the execution has finished while asynchronous agents will usually return the response as soon as the content to be distributed has been assembled and scheduled for distribution.
        Parameters:
        distributionRequest - the distribution request
        resourceResolver - the resource resolver used for authorizing the request,
        Returns:
        a DistributionResponse
        Throws:
        DistributionException - if any error happens during the execution of the request or if the authentication fails