首页 文章

java.lang.OutOfMemoryError在Play中嵌入HDBSQL

提问于
浏览
0

我在Play for Scala应用程序服务器中使用 HSQLDB 嵌入式内存 .

我像这样配置驱动程序:

driver = org.hsqldb.jdbc.JDBCDriver
   url = "jdbc:hsqldb:mem:inmemory"

此外,当Play重新启动时,我在 HSQLDB 连接中发出 SHUTDOWN 语句 .

这似乎工作正常,但是当我在开发环境中重启Play大约20次时,我得到以下内存不足异常 . HDBSQL是否正确关闭?也许数据库已关闭但引擎内存本身未发布?

java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:java.util.concurrent.FutureTask.get中的java.util.concurrent.FutureTask.report(FutureTask.java:122)中的元空间(FutureTask.java:192)引起:java.lang.OutOfMemoryError:java.security.ClassLoader.defineClass(ClassLoader.java:763)java.security.ClassLoader.defineClass1(Native Method)中的Metaspace,位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 142)at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)at java.net.URLClassLoader.access $ 100(URLClassLoader.java:73)at java.net.URLClassLoader $ 1.run(URLClassLoader.java:368)at at java.net.URLClassLoader $ 1.run(URLClassLoader.java:362)位于java.security.AlassController.doPrivileged(Native Method)的java.net.URLClassLoader.findClass(URLClassLoader.java:361),位于java.lang.ClassLoader.loadClass (ClassLoader.java:424)java.lang.ClassLoader.loadClass(ClassLoader.java:357)java.lang.ClassLoader.defineClass1(Native Method)java.lang.ClassLoader.de fineClass(ClassLoader.java:763)位于java.net.URLClassLoader.defineClass(URLClassLoader.java:467)的java.security.ClassLoader.defineClass(SecureClassLoader.java:142)java.net.URLClassLoader.access $ 100(URLClassLoader . java:73)at java.net.URLClassLoader $ 1.run(URLClassLoader.java:368)at java.net.URLClassLoader $ 1.run(URLClassLoader.java:362)at java.security.AccessController.doPrivileged(Native Method)at java .net.URLClassLoader.findClass(URLClassLoader.java:361)位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)的java.lang.ClassLoader.loadClass(ClassLoader.java:357)at scala.collection.Iterator $ scala.collection.Astrarator.toSeq上的scala.collection.TraversableOnce $ class.toSeq(TraversableOnce.scala:296)scala.collection.AbstractIterator.toStream(Iterator.scala:1194)中的class.toStream(Iterator.scala:1181) (Iterator.scala:1194)scala.tools.nsc.backend.jvm.GenASM $ newNormal $ .computeDetour $ 1(GenASM.scala:3094)at scala.tools.nsc.backend.jvm.GenASM $ newNormal $ .collapseJ umpOnlyBlocks(GenASM.scala:3126)at scala.tools.nsc.backend.jvm.GenASM $ newNormal $ .normalize(GenASM.scala:3195)at scala.tools.nsc.backend.jvm.GenASM $ JPlainBuilder.genCode(GenASM) .scala:1861)scala.tools.nsc.backend.jvm.GenASM $ JPlainBuilder.genMethod(GenASM.scala:1467)at scala.tools.nsc.backend.jvm.GenASM $ JPlainBuilder.genClass(GenASM.scala:1337) )

1 回答

相关问题