org.apache.lucene.replicator.http

## Class ReplicationService

- java.lang.Object
- - org.apache.lucene.replicator.http.ReplicationService

-     public class ReplicationService
      extends Object

  A server-side service for handling replication requests. The service assumes requests are sent in the format `/<context>/<shard>/<action>` where
  - `context` is the servlet context, e.g. `REPLICATION_CONTEXT`
  - `shard` is the ID of the shard, e.g. "s1"
  - `action` is one of `ReplicationService.ReplicationAction` values
  For example, to check whether there are revision updates for shard "s1" you should send the request: `http://host:port/replicate/s1/update`.

  This service is written like a servlet, and `perform(HttpServletRequest, HttpServletResponse)` takes servlet request and response accordingly, so it is quite easy to embed in your application's servlet.

  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ReplicationService.ReplicationAction` Actions supported by the `ReplicationService`.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `REPLICATE_FILENAME_PARAM` Request parameter name for providing the file's name.
    `static String` | `REPLICATE_SESSION_ID_PARAM` Request parameter name for providing a session ID.
    `static String` | `REPLICATE_SOURCE_PARAM` Request parameter name for providing the file's source.
    `static String` | `REPLICATE_VERSION_PARAM` Request parameter name for providing the revision version.
    `static String` | `REPLICATION_CONTEXT` The context path for the servlet.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReplicationService(Map<String,Replicator> replicators)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `perform(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` Executes the replication task.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### REPLICATION_CONTEXT

          public static final String REPLICATION_CONTEXT

      The context path for the servlet.
      See Also:
        Constant Field Values

    - #### REPLICATE_VERSION_PARAM

          public static final String REPLICATE_VERSION_PARAM

      Request parameter name for providing the revision version.
      See Also:
        Constant Field Values

    - #### REPLICATE_SESSION_ID_PARAM

          public static final String REPLICATE_SESSION_ID_PARAM

      Request parameter name for providing a session ID.
      See Also:
        Constant Field Values

    - #### REPLICATE_SOURCE_PARAM

          public static final String REPLICATE_SOURCE_PARAM

      Request parameter name for providing the file's source.
      See Also:
        Constant Field Values

    - #### REPLICATE_FILENAME_PARAM

          public static final String REPLICATE_FILENAME_PARAM

      Request parameter name for providing the file's name.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ReplicationService

          public ReplicationService(Map<String,Replicator> replicators)

  - ### Method Detail

    - #### perform

          public void perform(javax.servlet.http.HttpServletRequest req,
                              javax.servlet.http.HttpServletResponse resp)
                       throws javax.servlet.ServletException,
                              IOException

      Executes the replication task.
      Throws:
        `javax.servlet.ServletException`
        `IOException`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.