|
Franz Inc, AllegroGraph | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.franz.util.Closer
com.franz.agraph.pool.AGConnPool
public class AGConnPool
Pooling for AGRepositoryConnections.
The recommended way to create a pool is by create(Object...)
or by configuring a AGConnPoolJndiFactory with your appserver.
AGConnPool pool = AGConnPool.create(
AGConnProp.serverUrl, "http://localhost:10035",
AGConnProp.username, "test",
AGConnProp.password, "xyzzy",
AGConnProp.catalog, "/",
AGConnProp.repository, "my_repo",
AGConnProp.session, AGConnProp.Session.DEDICATED,
AGPoolProp.shutdownHook, true,
AGPoolProp.maxActive, 10,
AGPoolProp.initialSize, 2);
AGRepositoryConnection conn = pool.borrowConnection();
try {
...
conn.commit();
} finally {
conn.close();
// or equivalently
pool.returnObject(conn);
}
This pool delegates the pooling implementation to another
pool (a GenericObjectPool).
When Connections are borrowed,
they are wrapped so that Closeable.close()
will call returnObject(Object) instead of actually closing.
Closing the connection pool is important because server sessions will
stay active until AGConnProp.sessionLifetime.
The option to use a Runtime shutdownHook is built-in with AGPoolProp.shutdownHook.
Another option is to use ServletContextListener - this is appropriate if the
agraph jar is deployed within your webapp and not with the webserver.
With tomcat, a Lifecycle Listener can be configured, but the implementation to do this
is not included in this library.
Note, when close() is called
on a AGConnPool,
connections will be closed whether they are
idle (have been returned) or not.
This is different from GenericObjectPool.close().
| Method Summary | |
|---|---|
void |
addObject()
|
AGRepositoryConnection |
borrowConnection()
|
Object |
borrowObject()
|
void |
clear()
|
void |
close()
Must be called in a finally block, to close all resources added with closeLater(). |
static AGConnPool |
create(AGConnFactory factory,
AGPoolConfig poolConfig)
A GenericObjectPool is used. |
static AGConnPool |
create(Map<AGConnProp,String> connProps,
Map<AGPoolProp,String> poolProps)
Create a pool from configuration properties. |
static AGConnPool |
create(Object... keyValuePairs)
Create a pool from configuration properties. |
void |
ensureIdle(int n)
|
int |
getNumActive()
|
int |
getNumIdle()
|
void |
invalidateObject(Object obj)
|
void |
returnObject(Object obj)
|
void |
setFactory(org.apache.commons.pool.PoolableObjectFactory obj)
Deprecated. |
String |
toString()
|
static Object |
unwrap(Object obj)
|
| Methods inherited from class com.franz.util.Closer |
|---|
close, Close, close, Close, close, Close, close, Close, close, Close, close, Close, close, Close, close, Close, closeAll, closeLater, closeReflection, handleCloseException, remove |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Method Detail |
|---|
public static AGConnPool create(AGConnFactory factory,
AGPoolConfig poolConfig)
GenericObjectPool is used.
public static AGConnPool create(Map<AGConnProp,String> connProps,
Map<AGPoolProp,String> poolProps)
throws org.openrdf.repository.RepositoryException
connProps - keys are AGConnProppoolProps - keys are AGPoolProp
org.openrdf.repository.RepositoryException
public static AGConnPool create(Object... keyValuePairs)
throws org.openrdf.repository.RepositoryException
keyValuePairs - alternating key/value pairs where keys are AGConnProp and AGPoolProp
org.openrdf.repository.RepositoryException
public void addObject()
throws Exception,
IllegalStateException,
UnsupportedOperationException
addObject in interface org.apache.commons.pool.ObjectPoolException
IllegalStateException
UnsupportedOperationException
public Object borrowObject()
throws Exception,
NoSuchElementException,
IllegalStateException
borrowObject in interface org.apache.commons.pool.ObjectPoolException
NoSuchElementException
IllegalStateException
public AGRepositoryConnection borrowConnection()
throws org.openrdf.repository.RepositoryException
org.openrdf.repository.RepositoryException
public void clear()
throws Exception,
UnsupportedOperationException
clear in interface org.apache.commons.pool.ObjectPoolException
UnsupportedOperationException
public int getNumActive()
throws UnsupportedOperationException
getNumActive in interface org.apache.commons.pool.ObjectPoolUnsupportedOperationException
public int getNumIdle()
throws UnsupportedOperationException
getNumIdle in interface org.apache.commons.pool.ObjectPoolUnsupportedOperationException
public void invalidateObject(Object obj)
throws Exception
invalidateObject in interface org.apache.commons.pool.ObjectPoolException
public void returnObject(Object obj)
throws Exception
returnObject in interface org.apache.commons.pool.ObjectPoolExceptionpublic static Object unwrap(Object obj)
@Deprecated
public void setFactory(org.apache.commons.pool.PoolableObjectFactory obj)
throws IllegalStateException,
UnsupportedOperationException
setFactory in interface org.apache.commons.pool.ObjectPoolIllegalStateException
UnsupportedOperationException
public void ensureIdle(int n)
throws Exception
Exceptionpublic void close()
Closer
close in interface Closeableclose in interface org.apache.commons.pool.ObjectPoolclose in class CloserCloseable.close()public String toString()
toString in class Closer
|
Copyright © 2008-2016 Franz Inc. | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||