org.apache.flume.channel
Class MemoryChannel

java.lang.Object
  extended by org.apache.flume.channel.AbstractChannel
      extended by org.apache.flume.channel.BasicChannelSemantics
          extended by org.apache.flume.channel.MemoryChannel
All Implemented Interfaces:
Channel, Configurable, LifecycleAware, NamedComponent

@InterfaceAudience.Public
@InterfaceStability.Stable
public class MemoryChannel
extends BasicChannelSemantics

MemoryChannel is the recommended channel to use when speeds which writing to disk is impractical is required or durability of data is not required.

Additionally, MemoryChannel should be used when a channel is required for unit testing purposes.


Constructor Summary
MemoryChannel()
           
 
Method Summary
 void configure(Context context)
          Read parameters from context capacity = type long that defines the total number of events allowed at one time in the queue.
protected  BasicTransactionSemantics createTransaction()
           Called to create new Transaction objects, which must extend BasicTransactionSemantics.
 void start()
           Starts a service or component.
 void stop()
           Stops a service or component.
 
Methods inherited from class org.apache.flume.channel.BasicChannelSemantics
getTransaction, initialize, put, take
 
Methods inherited from class org.apache.flume.channel.AbstractChannel
getLifecycleState, getName, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MemoryChannel

public MemoryChannel()
Method Detail

configure

public void configure(Context context)
Read parameters from context
  • capacity = type long that defines the total number of events allowed at one time in the queue.
  • transactionCapacity = type long that defines the total number of events allowed in one transaction.
  • byteCapacity = type long that defines the max number of bytes used for events in the queue.
  • byteCapacityBufferPercentage = type int that defines the percent of buffer between byteCapacity and the estimated event size.
  • keep-alive = type int that defines the number of second to wait for a queue permit

    Specified by:
    configure in interface Configurable
    Overrides:
    configure in class AbstractChannel

  • 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 AbstractChannel

    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 AbstractChannel

    createTransaction

    protected BasicTransactionSemantics createTransaction()
    Description copied from class: BasicChannelSemantics

    Called to create new Transaction objects, which must extend BasicTransactionSemantics. Each object is used for only one transaction, but is stored in a thread-local and retrieved by getTransaction for the duration of that transaction.

    Specified by:
    createTransaction in class BasicChannelSemantics


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