|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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()
Transaction
Starts 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 Transaction
public void commit()
Transaction
commit
in interface Transaction
public void rollback()
Transaction
rollback
in interface Transaction
public void close()
Transaction
Ends 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 |