Package org.apache.iceberg
Class ClientPoolImpl<C,E extends java.lang.Exception>
- java.lang.Object
 - 
- org.apache.iceberg.ClientPoolImpl<C,E>
 
 
- 
- All Implemented Interfaces:
 java.io.Closeable,java.lang.AutoCloseable,ClientPool<C,E>
- Direct Known Subclasses:
 HiveClientPool,JdbcClientPool
public abstract class ClientPoolImpl<C,E extends java.lang.Exception> extends java.lang.Object implements java.io.Closeable, ClientPool<C,E>
 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface org.apache.iceberg.ClientPool
ClientPool.Action<R,C,E extends java.lang.Exception> 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ClientPoolImpl(int poolSize, java.lang.Class<? extends E> reconnectExc, boolean retryByDefault)ClientPoolImpl(int poolSize, java.lang.Class<? extends E> reconnectExc, boolean retryByDefault, int maxConnectionRetries) 
- 
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()protected abstract voidclose(C client)booleanisClosed()protected booleanisConnectionException(java.lang.Exception exc)protected abstract CnewClient()intpoolSize()protected abstract Creconnect(C client)<R> Rrun(ClientPool.Action<R,C,E> action)<R> Rrun(ClientPool.Action<R,C,E> action, boolean retry) 
 - 
 
- 
- 
Method Detail
- 
run
public <R> R run(ClientPool.Action<R,C,E> action) throws E extends java.lang.Exception, java.lang.InterruptedException
- Specified by:
 runin interfaceClientPool<C,E extends java.lang.Exception>- Throws:
 E extends java.lang.Exceptionjava.lang.InterruptedException
 
- 
run
public <R> R run(ClientPool.Action<R,C,E> action, boolean retry) throws E extends java.lang.Exception, java.lang.InterruptedException
- Specified by:
 runin interfaceClientPool<C,E extends java.lang.Exception>- Throws:
 E extends java.lang.Exceptionjava.lang.InterruptedException
 
- 
newClient
protected abstract C newClient()
 
- 
isConnectionException
protected boolean isConnectionException(java.lang.Exception exc)
 
- 
close
protected abstract void close(C client)
 
- 
close
public void close()
- Specified by:
 closein interfacejava.lang.AutoCloseable- Specified by:
 closein interfacejava.io.Closeable
 
- 
poolSize
public int poolSize()
 
- 
isClosed
public boolean isClosed()
 
 - 
 
 -