|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.je.dbi.DbEnvPool
public class DbEnvPool
Singleton collection of environments. Responsible for environment open and close, supporting this from multiple threads by synchronizing on the pool. To avoid multiple environment openings from being blocked by recovery getEnvironment() the EnvironmentImpl constructor is broken into two parts, with the second part doing the recovery. When synchronizing on two or more of the following objects the synchronization order must be as follows. Synchronization is not performed in constructors, of course, because no other thread can access the object. Synchronization order: Environment, DbEnvPool, EnvironmentImpl, Evictor Environment ctor NOT synchronized calls DbEnvPool.getEnvironment NOT synchronized synchronized (DbEnvPool) synchronized creates new EnvironmentImpl NOT synchronized add environment to envs end synchronized (DbEnvPool) calls EnvironmentImpl.finishInit() synchronized calls RecoveryManager.recover,buildTree NOT synchronized calls Evictor.addEnvironment synchronized EnvironmentImpl.reinit NOT synchronized calls DbEnvPool.reinitEnvironment synchronized calls EnvironmentImpl.doReinit synchronized calls RecoveryManager.recover,buildTree NOT synchronized calls Evictor.addEnvironment synchronized Environment.close synchronized calls EnvironmentImpl.close NOT synchronized calls DbEnvPool.closeEnvironment synchronized calls EnvironmentImpl.doClose synchronized calls Evictor.removeEnvironment synchronized Environment.setMutableConfig synchronized calls EnvironmentImpl.setMutableConfig NOT synchronized calls DbEnvPool.setMutableConfig synchronized calls EnvironmentImpl.doSetMutableConfig synchronized
Method Summary | |
---|---|
void |
clear()
For unit testing only. |
(package private) void |
closeEnvironment(EnvironmentImpl envImpl,
boolean doCheckpoint,
boolean doCheckLeaks)
Called by EnvironmentImpl.close to perform the close operation while synchronized on the DbEnvPool. |
(package private) void |
closeEnvironmentAfterInvalid(EnvironmentImpl envImpl)
Called by EnvironmentImpl.closeAfterInvalid to perform the close operation while synchronized on the DbEnvPool. |
Collection<EnvironmentImpl> |
getEnvImpls()
|
EnvironmentImpl |
getEnvironment(File envHome,
EnvironmentConfig config,
boolean checkImmutableParams,
boolean openIfNeeded,
RepConfigProxy repConfigProxy)
Find a single environment, used by Environment handles and by command line utilities. |
(package private) String |
getEnvironmentMapKey(File file)
|
static DbEnvPool |
getInstance()
Access the singleton instance. |
int |
getNSharedCacheEnvironments()
|
(package private) void |
setMutableConfig(EnvironmentImpl envImpl,
EnvironmentMutableConfig mutableConfig)
Called by EnvironmentImpl.setMutableConfig to perform the setMutableConfig operation while synchronized on the DbEnvPool. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static DbEnvPool getInstance()
public int getNSharedCacheEnvironments()
public EnvironmentImpl getEnvironment(File envHome, EnvironmentConfig config, boolean checkImmutableParams, boolean openIfNeeded, RepConfigProxy repConfigProxy) throws EnvironmentNotFoundException, EnvironmentLockedException
EnvironmentNotFoundException
EnvironmentLockedException
void setMutableConfig(EnvironmentImpl envImpl, EnvironmentMutableConfig mutableConfig) throws DatabaseException
DatabaseException
void closeEnvironment(EnvironmentImpl envImpl, boolean doCheckpoint, boolean doCheckLeaks)
void closeEnvironmentAfterInvalid(EnvironmentImpl envImpl) throws DatabaseException
DatabaseException
public void clear()
public Collection<EnvironmentImpl> getEnvImpls()
String getEnvironmentMapKey(File file) throws DatabaseException
DatabaseException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |