public interface RpcClient
Public client interface for sending data to Flume.
This interface is intended not to change incompatibly for Flume 1.x.
Note: It is recommended for applications to construct
RpcClient
instances using the RpcClientFactory
class,
instead of using builders associated with a particular implementation class.
RpcClientFactory
Modifier and Type | Method and Description |
---|---|
void |
append(Event event)
Send a single
Event to the associated Flume source. |
void |
appendBatch(List<Event> events)
Send a list of events to the associated Flume source.
|
void |
close()
Immediately closes the client so that it may no longer be used.
|
int |
getBatchSize()
Returns the maximum number of
events that may be batched
at once by appendBatch() . |
boolean |
isActive()
Returns
true if this object appears to be in a usable state, and
it returns false if this object is permanently disabled. |
int getBatchSize()
events
that may be batched
at once by appendBatch()
.void append(Event event) throws EventDeliveryException
Send a single Event
to the associated Flume source.
This method blocks until the RPC returns or until the request times out.
Note: If this method throws an
EventDeliveryException
, there is no way to recover and the
application must invoke close()
on this object to clean up system
resources.
event
- EventDeliveryException
- when an error prevents event delivery.void appendBatch(List<Event> events) throws EventDeliveryException
Send a list of events to the associated Flume source.
This method blocks until the RPC returns or until the request times out.
It is strongly recommended that the number of events in the List be no
more than getBatchSize()
. If it is more, multiple RPC calls will
be required, and the likelihood of duplicate Events being stored will
increase.
Note: If this method throws an
EventDeliveryException
, there is no way to recover and the
application must invoke close()
on this object to clean up system
resources.
events
- List of events to sendEventDeliveryException
- when an error prevents event delivery.boolean isActive()
Returns true
if this object appears to be in a usable state, and
it returns false
if this object is permanently disabled.
If this method returns false
, an application must call
close()
on this object to clean up system resources.
void close() throws FlumeException
Immediately closes the client so that it may no longer be used.
Note: This method MUST be called by applications when they are done using the RPC client in order to clean up resources.
Multi-threaded applications may want to gracefully stop making
RPC calls before calling close(). Otherwise, they risk getting
EventDeliveryException
thrown from their in-flight calls when the
underlying connection is disabled.
FlumeException
Copyright © 2009–2019 Apache Software Foundation. All rights reserved.