Это ошибка, которую я вижу
Сообщается только одним пользователем, и он использует сервер qnap, и у него есть большое количество файлов для обработки, поэтому я думаю, что это ключевой фактор. Но может ли проблема быть вызвана чем-то, с чем я ошибаюсь из-за обработки базы данных (используя hibernate и h2), или это более вероятно, что я делаю что-то не так с общей обработкой файлов?
23/10/2019 14.48.43:EDT:WARNING: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@f1d393c -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (10). Last acquisition attempt exception:
org.h2.jdbc.JdbcSQLNonTransientException: IO Exception: "java.io.IOException: No file descriptors available"; "/songkong/Prefs/Database/Database.mv.db" [90031-199]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:502)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
at org.h2.message.DbException.get(DbException.java:194)
at org.h2.message.DbException.convertIOException(DbException.java:392)
at org.h2.store.fs.FilePathDisk.toRealPath(FilePathDisk.java:220)
at org.h2.store.fs.FilePathDisk.toRealPath(FilePathDisk.java:35)
at org.h2.store.fs.FilePathWrapper.toRealPath(FilePathWrapper.java:118)
at org.h2.store.fs.FileUtils.toRealPath(FileUtils.java:78)
at org.h2.engine.ConnectionInfo.getName(ConnectionInfo.java:405)
at org.h2.engine.Engine.openSession(Engine.java:53)
at org.h2.engine.Engine.openSession(Engine.java:201)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:178)
at org.h2.engine.Engine.createSession(Engine.java:161)
at org.h2.engine.Engine.createSession(Engine.java:31)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:336)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:169)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:148)
at org.h2.Driver.connect(Driver.java:69)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:146)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:195)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44)
at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:648)
Caused by: java.io.IOException: No file descriptors available
at java.io.UnixFileSystem.canonicalize0(Native Method)
at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:172)
at java.io.File.getCanonicalPath(File.java:618)
at org.h2.store.fs.FilePathDisk.toRealPath(FilePathDisk.java:217)
... 22 more