org.apache.flume.sink.elasticsearch.client
Class ElasticSearchRestClient

java.lang.Object
  extended by org.apache.flume.sink.elasticsearch.client.ElasticSearchRestClient
All Implemented Interfaces:
Configurable, ElasticSearchClient

public class ElasticSearchRestClient
extends Object
implements ElasticSearchClient

Rest ElasticSearch client which is responsible for sending bulks of events to ElasticSearch using ElasticSearch HTTP API. This is configurable, so any config params required should be taken through this.


Constructor Summary
ElasticSearchRestClient(String[] hostNames, ElasticSearchEventSerializer serializer)
           
ElasticSearchRestClient(String[] hostNames, ElasticSearchEventSerializer serializer, org.apache.http.client.HttpClient client)
           
 
Method Summary
 void addEvent(Event event, IndexNameBuilder indexNameBuilder, String indexType, long ttlMs)
          Add new event to the bulk
 void close()
          Close connection to elastic search in client
 void configure(Context context)
           Request the implementing class to (re)configure itself.
 void execute()
          Sends bulk to the elasticsearch cluster
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ElasticSearchRestClient

public ElasticSearchRestClient(String[] hostNames,
                               ElasticSearchEventSerializer serializer)

ElasticSearchRestClient

public ElasticSearchRestClient(String[] hostNames,
                               ElasticSearchEventSerializer serializer,
                               org.apache.http.client.HttpClient client)
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 guarrantees on when configure might be called.

Specified by:
configure in interface Configurable

close

public void close()
Description copied from interface: ElasticSearchClient
Close connection to elastic search in client

Specified by:
close in interface ElasticSearchClient

addEvent

public void addEvent(Event event,
                     IndexNameBuilder indexNameBuilder,
                     String indexType,
                     long ttlMs)
              throws Exception
Description copied from interface: ElasticSearchClient
Add new event to the bulk

Specified by:
addEvent in interface ElasticSearchClient
Parameters:
event - Flume Event
indexNameBuilder - Index name builder which generates name of index to feed
indexType - Name of type of document which will be sent to the elasticsearch cluster
ttlMs - Time to live expressed in milliseconds. Value <= 0 is ignored
Throws:
Exception

execute

public void execute()
             throws Exception
Description copied from interface: ElasticSearchClient
Sends bulk to the elasticsearch cluster

Specified by:
execute in interface ElasticSearchClient
Throws:
Exception


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