|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.archive.io.WriterPool
public abstract class WriterPool
Pool of Writers.
Abstract. Override and pass in the Constructor a factory that creates
WriterPoolMember
implementations.
Field Summary | |
---|---|
static int |
DEFAULT_MAX_ACTIVE
Default maximum active number of files in the pool. |
static int |
DEFAULT_MAXIMUM_WAIT
Maximum time to wait on a free file.. |
(package private) java.util.logging.Logger |
logger
|
protected static int |
NO_MAX_IDLE
Don't enforce a maximum number of idle instances in pool. |
Constructor Summary | |
---|---|
WriterPool(java.util.concurrent.atomic.AtomicInteger serial,
org.apache.commons.pool.BasePoolableObjectFactory factory,
WriterPoolSettings settings,
int poolMaximumActive,
int poolMaximumWait)
Constructor |
Method Summary | |
---|---|
WriterPoolMember |
borrowFile()
Check out a WriterPoolMember . |
void |
close()
Close all WriterPoolMember s in pool. |
int |
getNumActive()
|
int |
getNumIdle()
|
protected java.lang.String |
getPoolState()
|
protected java.lang.String |
getPoolState(long startTime)
|
java.util.concurrent.atomic.AtomicInteger |
getSerialNo()
Returns the atomic integer used to generate serial numbers for files. |
WriterPoolSettings |
getSettings()
|
void |
invalidateFile(WriterPoolMember f)
|
void |
returnFile(WriterPoolMember writer)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
final java.util.logging.Logger logger
protected static final int NO_MAX_IDLE
public static final int DEFAULT_MAX_ACTIVE
public static final int DEFAULT_MAXIMUM_WAIT
Constructor Detail |
---|
public WriterPool(java.util.concurrent.atomic.AtomicInteger serial, org.apache.commons.pool.BasePoolableObjectFactory factory, WriterPoolSettings settings, int poolMaximumActive, int poolMaximumWait)
serial
- Used to generate unique filename sequencesfactory
- Factory that knows how to make a WriterPoolMember
.settings
- Settings for this pool.poolMaximumActive
- poolMaximumWait
- Method Detail |
---|
public WriterPoolMember borrowFile() throws java.io.IOException
WriterPoolMember
.
This method must be answered by a call to
returnFile(WriterPoolMember)
else pool starts leaking.
java.io.IOException
- Problem getting Writer from pool (Converted
from Exception to IOException so this pool can live as a good citizen
down in depths of ARCSocketFactory).
java.util.NoSuchElementException
- If we time out waiting on a pool member.public void returnFile(WriterPoolMember writer) throws java.io.IOException
writer
- Writer to return to the pool.
java.io.IOException
- Problem returning File to pool.public void invalidateFile(WriterPoolMember f) throws java.io.IOException
java.io.IOException
public int getNumActive() throws java.lang.UnsupportedOperationException
WriterPoolMember
s checked out of pool.
java.lang.UnsupportedOperationException
public int getNumIdle() throws java.lang.UnsupportedOperationException
WriterPoolMember
instances still in the pool.
java.lang.UnsupportedOperationException
public void close()
WriterPoolMember
s in pool.
public WriterPoolSettings getSettings()
protected java.lang.String getPoolState()
protected java.lang.String getPoolState(long startTime)
startTime
- If we are passed a start time, we'll add difference
between it and now to end of string. Pass -1 if don't want this
added to end of state string.
public java.util.concurrent.atomic.AtomicInteger getSerialNo()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |