public class RecordBin extends Object
| Modifier and Type | Field and Description |
|---|---|
private boolean |
complete |
private ProcessContext |
context |
private long |
creationNanos |
private List<FlowFile> |
flowFiles |
private int |
fragmentCount |
private long |
id |
private static AtomicLong |
idGenerator |
private ComponentLog |
logger |
private FlowFile |
merged |
private ByteCountingOutputStream |
out |
private Lock |
readLock |
private int |
recordCount |
private RecordSetWriter |
recordWriter |
private int |
requiredRecordCount |
private ReadWriteLock |
rwLock |
private ProcessSession |
session |
private RecordBinThresholds |
thresholds |
private Lock |
writeLock |
private RecordSetWriterFactory |
writerFactory |
| Constructor and Description |
|---|
RecordBin(ProcessContext context,
ProcessSession session,
ComponentLog logger,
RecordBinThresholds thresholds) |
| Modifier and Type | Method and Description |
|---|---|
void |
complete(String completionReason) |
private void |
fail() |
private long |
getBinAge() |
private int |
getMinimumRecordCount() |
boolean |
isComplete() |
boolean |
isFull() |
boolean |
isFullEnough() |
boolean |
isOlderThan(long period,
TimeUnit unit) |
boolean |
isOlderThan(RecordBin other) |
boolean |
offer(FlowFile flowFile,
RecordReader recordReader,
ProcessSession flowFileSession,
boolean block) |
void |
rollback() |
String |
toString() |
private void |
validateFragmentCount(String countAttributeName)
Ensure that at least one FlowFile has a fragment.count attribute and that they all have the same value, if they have a value.
|
private final ComponentLog logger
private final ProcessSession session
private final RecordSetWriterFactory writerFactory
private final RecordBinThresholds thresholds
private final ProcessContext context
private final ReadWriteLock rwLock
private final Lock readLock
private final Lock writeLock
private final long creationNanos
private FlowFile merged
private RecordSetWriter recordWriter
private ByteCountingOutputStream out
private int recordCount
private int fragmentCount
private volatile boolean complete
private static final AtomicLong idGenerator
private final long id
private volatile int requiredRecordCount
public RecordBin(ProcessContext context, ProcessSession session, ComponentLog logger, RecordBinThresholds thresholds)
public boolean isOlderThan(RecordBin other)
public boolean isOlderThan(long period,
TimeUnit unit)
public boolean isComplete()
public boolean offer(FlowFile flowFile, RecordReader recordReader, ProcessSession flowFileSession, boolean block) throws IOException
IOExceptionpublic boolean isFull()
private int getMinimumRecordCount()
public boolean isFullEnough()
public void rollback()
private long getBinAge()
private void fail()
private void validateFragmentCount(String countAttributeName)
public void complete(String completionReason) throws IOException
IOExceptionCopyright © 2023 Apache NiFi Project. All rights reserved.