Class Pool<T>
java.lang.Object
org.apache.flink.connector.file.src.util.Pool<T>
- Type Parameters:
T- The type of object cached in the pool.
A pool to cache and recycle heavyweight objects, to reduce object allocation.
This pool can be used in the BulkFormat.Reader, when the returned objects are
heavyweight and need to be reused for efficiency. Because the reading happens in I/O threads
while the record processing happens in Flink's main processing threads, these objects cannot be
reused immediately after being returned. They can be reused, once they are recycled back to the
pool.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceA Recycler puts objects into the pool that the recycler is associated with. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds an entry to the pool with an optional payload.Gets the next cached entry.recycler()Gets the recycler for this pool.Tries to get the next cached entry.
-
Constructor Details
-
Pool
public Pool(int poolCapacity) Creates a pool with the given capacity. No more than that many elements may be added to the pool.
-
-
Method Details
-
recycler
Gets the recycler for this pool. The recycler returns its given objects back to this pool. -
add
Adds an entry to the pool with an optional payload. This method fails if called more often than the pool capacity specified during construction. -
pollEntry
Gets the next cached entry. This blocks until the next entry is available.- Throws:
InterruptedException
-
tryPollEntry
Tries to get the next cached entry. If the pool is empty, this method returns null.
-