public abstract class AbstractQueueProducer extends Object implements QueueProducer, co.cask.tephra.TransactionAware
QueueProducer that emits enqueue metrics post commit.| Modifier | Constructor and Description |
|---|---|
protected |
AbstractQueueProducer(QueueMetrics queueMetrics,
QueueName queueName) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
boolean |
commitTx() |
protected abstract void |
doRollback() |
void |
enqueue(Iterable<QueueEntry> entries)
Enqueues a list of
QueueEntry. |
void |
enqueue(QueueEntry entry)
Enqueues a
QueueEntry. |
String |
getTransactionAwareName() |
Collection<byte[]> |
getTxChanges() |
protected abstract int |
persist(Iterable<QueueEntry> entries,
co.cask.tephra.Transaction transaction)
Persists queue entries.
|
void |
postTxCommit() |
boolean |
rollbackTx() |
void |
startTx(co.cask.tephra.Transaction tx) |
void |
updateTx(co.cask.tephra.Transaction transaction) |
protected AbstractQueueProducer(QueueMetrics queueMetrics, QueueName queueName)
public String getTransactionAwareName()
getTransactionAwareName in interface co.cask.tephra.TransactionAwarepublic void enqueue(QueueEntry entry) throws IOException
QueueProducerQueueEntry.enqueue in interface QueueProducerIOExceptionpublic void enqueue(Iterable<QueueEntry> entries) throws IOException
QueueProducerQueueEntry.enqueue in interface QueueProducerIOExceptionpublic void startTx(co.cask.tephra.Transaction tx)
startTx in interface co.cask.tephra.TransactionAwarepublic void updateTx(co.cask.tephra.Transaction transaction)
updateTx in interface co.cask.tephra.TransactionAwarepublic Collection<byte[]> getTxChanges()
getTxChanges in interface co.cask.tephra.TransactionAwarepublic boolean commitTx()
throws Exception
commitTx in interface co.cask.tephra.TransactionAwareExceptionpublic void postTxCommit()
postTxCommit in interface co.cask.tephra.TransactionAwarepublic boolean rollbackTx()
throws Exception
rollbackTx in interface co.cask.tephra.TransactionAwareExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionprotected abstract int persist(Iterable<QueueEntry> entries, co.cask.tephra.Transaction transaction) throws Exception
entries - queue entries to persist.transaction - transaction to use.ExceptionCopyright © 2016 Cask Data, Inc. Licensed under the Apache License, Version 2.0.