|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.flume.api.AbstractRpcClient org.apache.flume.api.ThriftRpcClient
public class ThriftRpcClient
Field Summary | |
---|---|
static String |
BINARY_PROTOCOL
|
static String |
COMPACT_PROTOCOL
|
static String |
CONFIG_PROTOCOL
Config param for the thrift protocol to use. |
Fields inherited from class org.apache.flume.api.AbstractRpcClient |
---|
connectTimeout |
Constructor Summary | |
---|---|
ThriftRpcClient()
|
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. |
protected void |
configure(Properties properties)
Configure the client using the given properties object. |
int |
getBatchSize()
Returns the maximum number of events that may be batched
at once by appendBatch() . |
protected org.apache.thrift.transport.TTransport |
getTransport(org.apache.thrift.transport.TSocket tsocket)
|
boolean |
isActive()
Returns true if this object appears to be in a usable state, and
it returns false if this object is permanently disabled. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String CONFIG_PROTOCOL
public static final String BINARY_PROTOCOL
public static final String COMPACT_PROTOCOL
Constructor Detail |
---|
public ThriftRpcClient()
Method Detail |
---|
public int getBatchSize()
RpcClient
events
that may be batched
at once by appendBatch()
.
getBatchSize
in interface RpcClient
getBatchSize
in class AbstractRpcClient
public void append(Event event) throws EventDeliveryException
RpcClient
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 RpcClient.close()
on this object to clean up system
resources.
append
in interface RpcClient
append
in class AbstractRpcClient
EventDeliveryException
- when an error prevents event delivery.public void appendBatch(List<Event> events) throws EventDeliveryException
RpcClient
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 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 RpcClient
appendBatch
in class AbstractRpcClient
events
- List of events to send
EventDeliveryException
- when an error prevents event delivery.public boolean isActive()
RpcClient
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
RpcClient.close()
on this object to clean up system resources.
isActive
in interface RpcClient
isActive
in class AbstractRpcClient
public void close() throws FlumeException
RpcClient
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.
close
in interface RpcClient
close
in class AbstractRpcClient
FlumeException
protected void configure(Properties properties) throws FlumeException
AbstractRpcClient
configure
in class AbstractRpcClient
FlumeException
- if the client can not be configured using this
method, or if the client was already configured once.protected org.apache.thrift.transport.TTransport getTransport(org.apache.thrift.transport.TSocket tsocket) throws Exception
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |