org.apache.flume.channel.file
Class FileChannel

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

@InterfaceAudience.Private
@InterfaceStability.Stable
public class FileChannel
extends BasicChannelSemantics

A durable Channel implementation that uses the local file system for its storage.

FileChannel works by writing all transactions to a set of directories specified in the configuration. Additionally, when a commit occurs the transaction is synced to disk.

FileChannel is marked InterfaceAudience.Private because it should only be instantiated via a configuration. For example, users should certainly use FileChannel but not by instantiating FileChannel objects. Meaning the label Private applies to user-developers not user-operators. In cases where a Channel is required by instantiated by user-developers MemoryChannel should be used.


Constructor Summary
FileChannel()
           
 
Method Summary
 void configure(Context context)
           Request the implementing class to (re)configure itself.
protected  BasicTransactionSemantics createTransaction()
           Called to create new Transaction objects, which must extend BasicTransactionSemantics.
 boolean isOpen()
           
 void setName(String name)
           
 void start()
           Starts a service or component.
 void stop()
           Stops a service or component.
 String toString()
           
 
Methods inherited from class org.apache.flume.channel.BasicChannelSemantics
getTransaction, initialize, put, take
 
Methods inherited from class org.apache.flume.channel.AbstractChannel
getLifecycleState, getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FileChannel

public FileChannel()
Method Detail

setName

public void setName(String name)
Specified by:
setName in interface NamedComponent
Overrides:
setName in class AbstractChannel

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

toString

public String toString()
Overrides:
toString 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

isOpen

public boolean isOpen()


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