org.apache.flume.source.http

## Class HTTPSource

- java.lang.Object
- - org.apache.flume.source.AbstractSource
  - - org.apache.flume.source.http.HTTPSource

- All Implemented Interfaces:
    Configurable, EventDrivenSource, LifecycleAware, NamedComponent, Source

      public class HTTPSource
      extends AbstractSource
      implements EventDrivenSource, Configurable

  A source which accepts Flume Events by HTTP POST and GET. GET should be used for experimentation only. HTTP requests are converted into flume events by a pluggable "handler" which must implement the HTTPSourceHandler interface. This handler takes a HttpServletRequest and returns a list of flume events. The source accepts the following parameters:

  `port`: port to which the server should bind. Mandatory

  `handler`: the class that deserializes a HttpServletRequest into a list of flume events. This class must implement HTTPSourceHandler. Default: JSONHandler.

  `handler.*` Any configuration to be passed to the handler.

  All events deserialized from one Http request are committed to the channel in one transaction, thus allowing for increased efficiency on channels like the file channel. If the handler throws an exception this source will return a HTTP status of 400. If the channel is full, or the source is unable to append events to the channel, the source will return a HTTP 503 - Temporarily unavailable status. A JSON handler which converts JSON objects to Flume events is provided.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `HTTPSource()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `configure(Context context)` Request the implementing class to (re)configure itself.
    `void` | `start()` Starts a service or component.
    `void` | `stop()` Stops a service or component.

    - ### Methods inherited from class org.apache.flume.source.AbstractSource

      `getChannelProcessor, getLifecycleState, getName, setChannelProcessor, setName, toString`

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

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

    - ### Methods inherited from interface org.apache.flume.Source

      `getChannelProcessor, setChannelProcessor`

    - ### Methods inherited from interface org.apache.flume.lifecycle.LifecycleAware

      `getLifecycleState`

    - ### Methods inherited from interface org.apache.flume.NamedComponent

      `getName, setName`

- - ### Constructor Detail

    - #### HTTPSource

          public HTTPSource()

  - ### Method Detail

    - #### configure

          public void configure(Context context)

      Description copied from interface: `Configurable`

      Request the implementing class to (re)configure itself.

      When configuration parameters are changed, they must be reflected by the component asap.

      There are no thread safety guarantees on when configure might be called.

      Specified by:
        `configure` in interface `Configurable`

    - #### start

          public void start()

      Description copied from interface: `LifecycleAware`

      Starts a service or component.

      Implementations should determine the result of any start logic and effect the return value of `LifecycleAware.getLifecycleState()` accordingly.

      Specified by:
        `start` in interface `LifecycleAware`
      Overrides:
        `start` in class `AbstractSource`

    - #### stop

          public void stop()

      Description copied from interface: `LifecycleAware`

      Stops a service or component.

      Implementations should determine the result of any stop logic and effect the return value of `LifecycleAware.getLifecycleState()` accordingly.

      Specified by:
        `stop` in interface `LifecycleAware`
      Overrides:
        `stop` in class `AbstractSource`

Copyright © 2009-2016 Apache Software Foundation. All Rights Reserved.