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 Details

    • getQueueNames

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

      @Nullable @Nullable DistributionQueue getQueue(@NotNull @NotNull 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:
      resourceResolver - the resource resolver used for authorizing the request,
      distributionRequest - the distribution request
      Returns:
      a DistributionResponse
      Throws:
      DistributionException - if any error happens during the execution of the request or if the authentication fails