|
Franz Inc, AllegroGraph | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.franz.util.Closer com.franz.agraph.pool.AGConnPool
public class AGConnPool
Pooling for AGRepositoryConnection
s.
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 AGConnProp
poolProps
- 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.ObjectPool
Exception
IllegalStateException
UnsupportedOperationException
public Object borrowObject() throws Exception, NoSuchElementException, IllegalStateException
borrowObject
in interface org.apache.commons.pool.ObjectPool
Exception
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.ObjectPool
Exception
UnsupportedOperationException
public int getNumActive() throws UnsupportedOperationException
getNumActive
in interface org.apache.commons.pool.ObjectPool
UnsupportedOperationException
public int getNumIdle() throws UnsupportedOperationException
getNumIdle
in interface org.apache.commons.pool.ObjectPool
UnsupportedOperationException
public void invalidateObject(Object obj) throws Exception
invalidateObject
in interface org.apache.commons.pool.ObjectPool
Exception
public void returnObject(Object obj) throws Exception
returnObject
in interface org.apache.commons.pool.ObjectPool
Exception
public 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.ObjectPool
IllegalStateException
UnsupportedOperationException
public void ensureIdle(int n) throws Exception
Exception
public void close()
Closer
close
in interface Closeable
close
in interface org.apache.commons.pool.ObjectPool
close
in class Closer
Closeable.close()
public String toString()
toString
in class Closer
|
Copyright © 2008-2012 Franz Inc. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |