@InterfaceAudience.Private @InterfaceStability.Stable public class FileChannel extends BasicChannelSemantics implements TransactionCapacitySupported
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.
Modifier and Type | Field and Description |
---|---|
protected Integer |
transactionCapacity |
Constructor and Description |
---|
FileChannel() |
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() |
long |
getTransactionCapacity()
Returns the transaction capacity
|
boolean |
isOpen() |
void |
setName(String name) |
void |
start()
Starts a service or component.
|
void |
stop()
Stops a service or component.
|
String |
toString() |
getTransaction, initialize, put, take
getLifecycleState, getName
protected Integer transactionCapacity
public void setName(String name)
setName
in interface NamedComponent
setName
in class AbstractChannel
public void configure(Context context)
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.
configure
in interface Configurable
configure
in class AbstractChannel
public void start()
LifecycleAware
Starts a service or component.
Implementations should determine the result of any start logic and effect
the return value of LifecycleAware.getLifecycleState()
accordingly.
start
in interface LifecycleAware
start
in class AbstractChannel
public void stop()
LifecycleAware
Stops a service or component.
Implementations should determine the result of any stop logic and effect
the return value of LifecycleAware.getLifecycleState()
accordingly.
stop
in interface LifecycleAware
stop
in class AbstractChannel
public String toString()
toString
in class AbstractChannel
protected BasicTransactionSemantics createTransaction()
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.
createTransaction
in class BasicChannelSemantics
protected int getDepth()
public boolean isOpen()
public long getTransactionCapacity()
TransactionCapacitySupported
getTransactionCapacity
in interface TransactionCapacitySupported
Copyright © 2009–2019 Apache Software Foundation. All rights reserved.