我們在一個Servlet容器上使用Xodus,應用時不時拋出這個錯誤(不知道是什么原因)jetbrains.exodus.ExodusException: Can't acquire environment lock after 0 ms. Lock owner info: null at jetbrains.exodus.log.Log.tryLock(Log.java:935) at jetbrains.exodus.log.Log.<init>(Log.java:91) at jetbrains.exodus.env.Environments.newLogInstance(Environments.java:137) at jetbrains.exodus.env.Environments.newLogInstance(Environments.java:115) at jetbrains.exodus.env.Environments.newLogInstance(Environments.java:104) at jetbrains.exodus.env.Environments.newInstance(Environments.java:49) at jetbrains.exodus.env.Environments.newInstance(Environments.java:39)什么可能導致這種情況發(fā)生?示例用法:public void put(String instance, final String storeName, final String key, final String value) { final Environment env = Environments.newInstance(xodusRoot + instance); env.executeInTransaction(new TransactionalExecutable() { @Override public void execute(@NotNull final Transaction txn) { final Store store = env.openStore(storeName, StoreConfig.WITHOUT_DUPLICATES, txn); store.put(txn, StringBinding.stringToEntry(key), StringBinding.stringToEntry(value)); } }); env.close();}如果這put方法是從一個Servlet端點調用,服務器因此多個并發(fā)客戶端調用此方法。
jetbrains.exodus.ExodusException:0 毫秒后無法獲取環(huán)境鎖
ibeautiful
2021-07-02 14:00:01