|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.ojb.broker.core.PersistenceBrokerFactoryBaseImpl
org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl
This is the default implementation of the PersistenceBrokerFactoryIF
interface.
This implementation use a pool of PersistenceBroker
instances [abbr. PB]. Each pooled PB instance (the implementation class was specified
in OJB configuration file) is wrapped by PoolablePersistenceBroker class
before add to pool.
When calling createPersistenceBroker(org.apache.ojb.broker.PBKey) or PersistenceBrokerFactoryBaseImpl.defaultPersistenceBroker() the pooled-PB
instance (PoolablePersistenceBroker) on its part was wrapped with PersistenceBrokerHandle
handle.
When a client do a PB.close() call on the handle the wrapped PoolablePersistenceBroker will be closed and returned to pool. All further method calls on the handle (except PB.isClosed() and PB.isInTransaction()) result in an exception.
Each differentPBKey (based on PBKey.equals(...) method)
get its own PB-pool.
PersistenceBrokerFactoryBaseImpl| Nested Class Summary | |
(package private) class |
PersistenceBrokerFactoryDefaultImpl.PBKeyedPoolableObjectFactory
This is a KeyedPoolableObjectFactory implementation,
manage the life-cycle of PersistenceBroker instances
hold in an KeyedObjectPool. |
| Constructor Summary | |
PersistenceBrokerFactoryDefaultImpl()
|
|
| Method Summary | |
int |
activePersistenceBroker()
Not implemented! |
PersistenceBroker |
createPersistenceBroker(PBKey pbKey)
Return broker instance from pool. |
java.util.Properties |
getPoolConfiguration()
could be used for monitoring TODO: is this useful? |
void |
releaseAllInstances()
release all broker instances pooled by the factory. |
void |
setPoolConfiguration(java.util.Properties prop)
could be used for runtime configuration TODO: is this useful? |
protected PersistenceBroker |
wrapBrokerWithPoolingHandle(PersistenceBroker broker,
org.apache.commons.pool.KeyedObjectPool pool)
Each real pooled PersistenceBroker instance was wrapped by a
pooling handle when a new instance was created. |
protected PersistenceBroker |
wrapRequestedBrokerInstance(PersistenceBroker broker)
Wraps the requested pooled broker instance. |
| Methods inherited from class org.apache.ojb.broker.core.PersistenceBrokerFactoryBaseImpl |
configure, createNewBrokerInstance, createPersistenceBroker, defaultPersistenceBroker, getDefaultKey, setDefaultKey |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public PersistenceBrokerFactoryDefaultImpl()
| Method Detail |
public PersistenceBroker createPersistenceBroker(PBKey pbKey)
throws PBFactoryException
PBKey was not found in pool
a new pool for given
createPersistenceBroker in interface PersistenceBrokerFactoryIFcreatePersistenceBroker in class PersistenceBrokerFactoryBaseImplpbKey -
PBFactoryException
protected PersistenceBroker wrapBrokerWithPoolingHandle(PersistenceBroker broker,
org.apache.commons.pool.KeyedObjectPool pool)
PersistenceBroker instance was wrapped by a
pooling handle when a new instance was created.
broker - real PersistenceBroker instancepool - use KeyedObjectPool
PoolablePersistenceBrokerprotected PersistenceBroker wrapRequestedBrokerInstance(PersistenceBroker broker)
broker -
PersistenceBrokerHandlepublic void releaseAllInstances()
PersistenceBrokerFactoryIF
releaseAllInstances in interface PersistenceBrokerFactoryIFreleaseAllInstances in class PersistenceBrokerFactoryBaseImplPersistenceBrokerFactoryIF.releaseAllInstances()public int activePersistenceBroker()
PersistenceBrokerFactoryBaseImpl
activePersistenceBroker in interface PersistenceBrokerFactoryIFactivePersistenceBroker in class PersistenceBrokerFactoryBaseImplpublic java.util.Properties getPoolConfiguration()
public void setPoolConfiguration(java.util.Properties prop)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||