org.apache.flume.channel.file

## Class FileChannel

- java.lang.Object
- - org.apache.flume.channel.AbstractChannel
  - - org.apache.flume.channel.BasicChannelSemantics
    - - org.apache.flume.channel.file.FileChannel

- All Implemented Interfaces:
    Channel, Configurable, LifecycleAware, NamedComponent
  Direct Known Subclasses:
    SpillableMemoryChannel

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Integer` | `transactionCapacity`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileChannel()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`.
    `protected int` | `getDepth()`
    `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`

- - ### Field Detail

    - #### transactionCapacity

          protected Integer transactionCapacity

  - ### 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 guarantees 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`

    - #### getDepth

          protected int getDepth()

    - #### isOpen

          public boolean isOpen()

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