繁体   English   中英

jboss 抛出 memory:在 intellij idea 中运行时堆空间,但在 eclipse 中运行时没有

[英]jboss throws out of memory: heap space while running in intellij idea but not when running in eclipse

直到本周早些时候将一个分支合并到主干并更新了大部分公共代码,我的 IntelliJ IDEA JBOSS 配置运行良好。 现在,当应用程序运行返回大量数据的查询时,我收到以下错误:

java.lang.OutOfMemoryError: Java heap space
at oracle.jdbc.driver.PhysicalConnection.getCharBuffer(PhysicalConnection.java:7018)
at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java:907)
at oracle.jdbc.driver.T4CTTIdcb.receiveCommon(T4CTTIdcb.java:261)
at oracle.jdbc.driver.T4CTTIdcb.receive(T4CTTIdcb.java:127)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:992)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
at oracle.jdbc.driver.OracleStatement.doScrollExecuteCommon(OracleStatement.java:4219)
at oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(OraclePreparedStatement.java:9517)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3385)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)

奇怪的是,这似乎非常特定于查询 oracle 并返回大量数据。 我已经尝试了任何我能找到的关于增加堆大小以缓解问题的方法,但即使将 VM 选项中的应用程序的最大值设置为 4GB,将 IDE 的最大值设置为 8GB,也无济于事。

我们团队中的大多数人使用 Eclipse 作为 IDE 并且没有看到这个问题弹出,所以我下载了最新的 eclipse 并运行了原始堆中配置为最大大小的项目选项),它工作正常。

谁能告诉我仅在通过 IntelliJ IDEA 运行应用程序时可能导致 memory 失效的原因是什么? 这让我发疯,我宁愿不必切换 IDE 只是为了在本地运行应用程序并附加调试器来监视 memory 中的值,所以如果有人能提供任何见解或额外的步骤来尝试,我真的很感激。

我注意到我们在周一合并后通过我们的 ivy 文件拉下了 2 个版本的 ojdbc,所以我询问了负责迁移到更新的公共代码的程序员,我尝试排除旧版本,但这不是这不是 jdbc 驱动程序的多个版本的完整解决方案。 另一位程序员继续清理 ivy 文件以删除 jdbc6 的依赖项,并且只使用最新版本的 jdbc8 ...这解决了问题。

谢谢大家的帮助,如果不是你们所有人,我不确定我会注意到 ojdbc jar 问题...

我仍然很好奇独立/IDEA 和 Eclipse 之间的区别是 Eclipse 能够处理驱动程序冲突,而其他人则抛出了 OOME。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM