📄 environmentconfig.java
字号:
return replicationNSites; } public void setReplicationPriority(final int replicationPriority) { this.replicationPriority = replicationPriority; } public int getReplicationPriority() { return replicationPriority; } /** @deprecated renamed {@link #setMutexTestAndSetSpins} */ public void setTestAndSetSpins(final int mutexTestAndSetSpins) { setMutexTestAndSetSpins(mutexTestAndSetSpins); } /** @deprecated renamed {@link #getMutexTestAndSetSpins} */ public int getTestAndSetSpins() { return getMutexTestAndSetSpins(); } public void setThreaded(final boolean threaded) { this.threaded = threaded; } public boolean getThreaded() { return threaded; } public void setTransactional(final boolean transactional) { this.transactional = transactional; } public boolean getTransactional() { return transactional; } public void setTxnNoSync(final boolean txnNoSync) { this.txnNoSync = txnNoSync; } public boolean getTxnNoSync() { return txnNoSync; } public void setTxnNoWait(final boolean txnNoWait) { this.txnNoWait = txnNoWait; } public boolean getTxnNoWait() { return txnNoWait; } public void setTxnNotDurable(final boolean txnNotDurable) { this.txnNotDurable = txnNotDurable; } public boolean getTxnNotDurable() { return txnNotDurable; } public void setTxnSnapshot(final boolean txnSnapshot) { this.txnSnapshot = txnSnapshot; } public boolean getTxnSnapshot() { return txnSnapshot; } public void setTxnMaxActive(final int txnMaxActive) { this.txnMaxActive = txnMaxActive; } public int getTxnMaxActive() { return txnMaxActive; } public void setTxnTimeout(final long txnTimeout) { this.txnTimeout = txnTimeout; } public long getTxnTimeout() { return txnTimeout; } public void setTxnTimestamp(final java.util.Date txnTimestamp) { this.txnTimestamp = txnTimestamp; } public java.util.Date getTxnTimestamp() { return txnTimestamp; } public void setTxnWriteNoSync(final boolean txnWriteNoSync) { this.txnWriteNoSync = txnWriteNoSync; } public boolean getTxnWriteNoSync() { return txnWriteNoSync; } public void setUseEnvironment(final boolean useEnvironment) { this.useEnvironment = useEnvironment; } public boolean getUseEnvironment() { return useEnvironment; } public void setUseEnvironmentRoot(final boolean useEnvironmentRoot) { this.useEnvironmentRoot = useEnvironmentRoot; } public boolean getUseEnvironmentRoot() { return useEnvironmentRoot; } public void setVerbose(final VerboseConfig flag, boolean enable) { int iflag = flag.getInternalFlag(); switch (iflag) { case DbConstants.DB_VERB_DEADLOCK: verboseDeadlock = enable; break; case DbConstants.DB_VERB_FILEOPS: verboseFileops = enable; break; case DbConstants.DB_VERB_FILEOPS_ALL: verboseFileopsAll = enable; break; case DbConstants.DB_VERB_RECOVERY: verboseRecovery = enable; break; case DbConstants.DB_VERB_REGISTER: verboseRegister = enable; break; case DbConstants.DB_VERB_REPLICATION: verboseReplication = enable; break; case DbConstants.DB_VERB_WAITSFOR: verboseWaitsFor = enable; break; default: throw new IllegalArgumentException( "Unknown verbose flag: " + DbEnv.strerror(iflag)); } } public boolean getVerbose(final VerboseConfig flag) { int iflag = flag.getInternalFlag(); switch (iflag) { case DbConstants.DB_VERB_DEADLOCK: return verboseDeadlock; case DbConstants.DB_VERB_FILEOPS: return verboseFileops; case DbConstants.DB_VERB_FILEOPS_ALL: return verboseFileopsAll; case DbConstants.DB_VERB_RECOVERY: return verboseRecovery; case DbConstants.DB_VERB_REGISTER: return verboseRegister; case DbConstants.DB_VERB_REPLICATION: return verboseReplication; case DbConstants.DB_VERB_WAITSFOR: return verboseWaitsFor; default: throw new IllegalArgumentException( "Unknown verbose flag: " + DbEnv.strerror(iflag)); } } /** @deprecated */ public void setVerboseDeadlock(final boolean verboseDeadlock) { this.verboseDeadlock = verboseDeadlock; } /** @deprecated */ public boolean getVerboseDeadlock() { return verboseDeadlock; } /** @deprecated */ public void setVerboseRecovery(final boolean verboseRecovery) { this.verboseRecovery = verboseRecovery; } /** @deprecated */ public boolean getVerboseRecovery() { return verboseRecovery; } /** @deprecated */ public void setVerboseRegister(final boolean verboseRegister) { this.verboseRegister = verboseRegister; } /** @deprecated */ public boolean getVerboseRegister() { return verboseRegister; } /** @deprecated */ public void setVerboseReplication(final boolean verboseReplication) { this.verboseReplication = verboseReplication; } /** @deprecated */ public boolean getVerboseReplication() { return verboseReplication; } /** @deprecated */ public void setVerboseWaitsFor(final boolean verboseWaitsFor) { this.verboseWaitsFor = verboseWaitsFor; } /** @deprecated */ public boolean getVerboseWaitsFor() { return verboseWaitsFor; } public void setYieldCPU(final boolean yieldCPU) { this.yieldCPU = yieldCPU; } public boolean getYieldCPU() { return yieldCPU; } private boolean lockConflictsEqual(byte[][] lc1, byte[][]lc2) { if (lc1 == lc2) return true; if (lc1 == null || lc2 == null || lc1.length != lc2.length) return false; for (int i = 0; i < lc1.length; i++) { if (lc1[i].length != lc2[i].length) return false; for (int j = 0; j < lc1[i].length; j++) if (lc1[i][j] != lc2[i][j]) return false; } return true; } /* package */ DbEnv openEnvironment(final java.io.File home) throws DatabaseException, java.io.FileNotFoundException { final DbEnv dbenv = createEnvironment(); int openFlags = 0; openFlags |= allowCreate ? DbConstants.DB_CREATE : 0; openFlags |= initializeCache ? DbConstants.DB_INIT_MPOOL : 0; openFlags |= initializeCDB ? DbConstants.DB_INIT_CDB : 0; openFlags |= initializeLocking ? DbConstants.DB_INIT_LOCK : 0; openFlags |= initializeLogging ? DbConstants.DB_INIT_LOG : 0; openFlags |= initializeReplication ? DbConstants.DB_INIT_REP : 0; openFlags |= joinEnvironment ? DbConstants.DB_JOINENV : 0; openFlags |= lockDown ? DbConstants.DB_LOCKDOWN : 0; openFlags |= isPrivate ? DbConstants.DB_PRIVATE : 0; openFlags |= register ? DbConstants.DB_REGISTER : 0; openFlags |= runRecovery ? DbConstants.DB_RECOVER : 0; openFlags |= runFatalRecovery ? DbConstants.DB_RECOVER_FATAL : 0; openFlags |= systemMemory ? DbConstants.DB_SYSTEM_MEM : 0; openFlags |= threaded ? DbConstants.DB_THREAD : 0; openFlags |= transactional ? DbConstants.DB_INIT_TXN : 0; openFlags |= useEnvironment ? DbConstants.DB_USE_ENVIRON : 0; openFlags |= useEnvironmentRoot ? DbConstants.DB_USE_ENVIRON_ROOT : 0; boolean succeeded = false; try { dbenv.open((home == null) ? null : home.toString(), openFlags, mode); succeeded = true; return dbenv; } finally { if (!succeeded) try { dbenv.close(0); } catch (Throwable t) { // Ignore it -- an exception is already in flight. } } } /* package */ DbEnv createEnvironment() throws DatabaseException { int createFlags = 0; if (rpcServer != null) createFlags |= DbConstants.DB_RPCCLIENT; final DbEnv dbenv = new DbEnv(createFlags); configureEnvironment(dbenv, DEFAULT); return dbenv; } /* package */ void configureEnvironment(final DbEnv dbenv, final EnvironmentConfig oldConfig) throws DatabaseException { if (errorHandler != oldConfig.errorHandler) dbenv.set_errcall(errorHandler); if (errorPrefix != oldConfig.errorPrefix && errorPrefix != null && !errorPrefix.equals(oldConfig.errorPrefix)) dbenv.set_errpfx(errorPrefix); if (errorStream != oldConfig.errorStream) dbenv.set_error_stream(errorStream); if (rpcServer != oldConfig.rpcServer || rpcClientTimeout != oldConfig.rpcClientTimeout || rpcServerTimeout != oldConfig.rpcServerTimeout) dbenv.set_rpc_server(rpcServer, rpcClientTimeout, rpcServerTimeout, 0); // We always set DB_TIME_NOTGRANTED in the Java API, because // LockNotGrantedException extends DeadlockException, so there's no // reason why an application would prefer one to the other. int onFlags = DbConstants.DB_TIME_NOTGRANTED; int offFlags = 0; if (cdbLockAllDatabases && !oldConfig.cdbLockAllDatabases) onFlags |= DbConstants.DB_CDB_ALLDB; if (!cdbLockAllDatabases && oldConfig.cdbLockAllDatabases) offFlags |= DbConstants.DB_CDB_ALLDB; if (directDatabaseIO && !oldConfig.directDatabaseIO) onFlags |= DbConstants.DB_DIRECT_DB; if (!directDatabaseIO && oldConfig.directDatabaseIO) offFlags |= DbConstants.DB_DIRECT_DB; if (directLogIO && !oldConfig.directLogIO) onFlags |= DbConstants.DB_DIRECT_LOG; if (!directLogIO && oldConfig.directLogIO) offFlags |= DbConstants.DB_DIRECT_LOG; if (dsyncDatabases && !oldConfig.dsyncDatabases) onFlags |= DbConstants.DB_DSYNC_DB; if (!dsyncDatabases && oldConfig.dsyncDatabases) offFlags |= DbConstants.DB_DSYNC_DB; if (dsyncLog && !oldConfig.dsyncLog) onFlags |= DbConstants.DB_DSYNC_LOG; if (!dsyncLog && oldConfig.dsyncLog) offFlags |= DbConstants.DB_DSYNC_LOG; if (initializeRegions && !oldConfig.initializeRegions) onFlags |= DbConstants.DB_REGION_INIT; if (!initializeRegions && oldConfig.initializeRegions) offFlags |= DbConstants.DB_REGION_INIT; if (logAutoRemove && !oldConfig.logAutoRemove) onFlags |= DbConstants.DB_LOG_AUTOREMOVE; if (!logAutoRemove && oldConfig.logAutoRemove) offFlags |= DbConstants.DB_LOG_AUTOREMOVE; if (logInMemory && !oldConfig.logInMemory) onFlags |= DbConstants.DB_LOG_INMEMORY; if (!logInMemory && oldConfig.logInMemory) offFlags |= DbConstants.DB_LOG_INMEMORY;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -