|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.flume.channel.FanoutChannel.wrapperTransaction
public class FanoutChannel.wrapperTransaction
A wrapper transaction that does the operation on all channels. Note that there's no two phase commit. If one of the channels throws an exception, we still execute the operations for the rest. All the failed commits are rolled back at the end to maintain consistent transaction state. Note that the currently commit and rollback are not throwing exceptions * even if one of the underlying transactions fail.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.apache.flume.Transaction |
|---|
Transaction.TransactionState |
| Constructor Summary | |
|---|---|
FanoutChannel.wrapperTransaction()
|
|
| Method Summary | |
|---|---|
void |
begin()
Starts a transaction boundary for the current channel operation. |
void |
close()
Ends a transaction boundary for the current channel operation. |
void |
commit()
Indicates that the transaction can be successfully committed. |
void |
rollback()
Indicates that the transaction can must be aborted. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public FanoutChannel.wrapperTransaction()
| Method Detail |
|---|
public void begin()
TransactionStarts a transaction boundary for the current channel operation. If a transaction is already in progress, this method will join that transaction using reference counting.
Note: For every invocation of this method there must be a corresponding invocation of Transaction.close() method. Failure to ensure this can lead to dangling transactions and unpredictable results.
begin in interface Transactionpublic void commit()
Transaction
commit in interface Transactionpublic void rollback()
Transaction
rollback in interface Transactionpublic void close()
TransactionEnds a transaction boundary for the current channel operation. If a transaction is already in progress, this method will join that transaction using reference counting. The transaction is completed only if there are no more references left for this transaction.
Note: For every invocation of this method there must be a corresponding invocation of Transaction.begin() method. Failure to ensure this can lead to dangling transactions and unpredictable results.
close in interface Transaction
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||