|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.flume.api.AbstractRpcClient
org.apache.flume.api.NettyAvroRpcClient
public class NettyAvroRpcClient
Avro/Netty implementation of RpcClient.
The connections are intended to be opened before clients are given access so
that the object cannot ever be in an inconsistent when exposed to users.
| Field Summary |
|---|
| Fields inherited from class org.apache.flume.api.AbstractRpcClient |
|---|
batchSize, connectTimeout, requestTimeout |
| Constructor Summary | |
|---|---|
protected |
NettyAvroRpcClient()
This constructor is intended to be called from RpcClientFactory. |
| Method Summary | |
|---|---|
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. |
void |
configure(Properties properties)
Configure the actual client using the properties. |
boolean |
isActive()
Returns true if this object appears to be in a usable state, and
it returns false if this object is permanently disabled. |
String |
toString()
|
| Methods inherited from class org.apache.flume.api.AbstractRpcClient |
|---|
getBatchSize |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.flume.api.RpcClient |
|---|
getBatchSize |
| Constructor Detail |
|---|
protected NettyAvroRpcClient()
RpcClientFactory.
A call to this constructor should be followed by call to configure().
| Method Detail |
|---|
public void close()
throws FlumeException
RpcClientImmediately 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.
close in interface RpcClientclose in class AbstractRpcClientFlumeExceptionpublic String toString()
toString in class Object
public void append(Event event)
throws EventDeliveryException
RpcClientSend 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 RpcClient.close() on this object to clean up system
resources.
append in interface RpcClientappend in class AbstractRpcClientEventDeliveryException - when an error prevents event delivery.
public void appendBatch(List<Event> events)
throws EventDeliveryException
RpcClientSend 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 RpcClient.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 RpcClient.close() on this object to clean up system
resources.
appendBatch in interface RpcClientappendBatch in class AbstractRpcClientevents - List of events to send
EventDeliveryException - when an error prevents event delivery.public boolean isActive()
RpcClientReturns 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
RpcClient.close() on this object to clean up system resources.
isActive in interface RpcClientisActive in class AbstractRpcClient
public void configure(Properties properties)
throws FlumeException
Configure the actual client using the properties. properties should have at least 2 params:
hosts = alias_for_host
alias_for_host = hostname:port.
Only the first host is added, rest are discarded.Optionally it can also have a
batch-size = batchSize
configure in class AbstractRpcClientproperties - The properties to instantiate the client with.
FlumeException - if the client can not be configured using this
method, or if the client was already configured once.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||