【发布时间】:2016-08-01 14:16:28
【问题描述】:
原因:java.lang.StackOverflowError 在 java.lang.Integer.valueOf(Integer.java:844) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:430) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 在
........
这个 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445) 一直在发生,直到出现 stackoverflow 错误。当我在 Writers writeItems() 中调用 executeBatch() 时会发生错误,所以我不确定它到底发生在哪里或为什么发生。
这个问题是 3 年前一位面临类似问题的用户提出的。但是没有响应,重新运行也没有帮助。
【问题讨论】:
-
你能发布一些示例代码吗?
-
堆栈的底部是什么样的?即使代码进入 findMappingClass() 无限循环的调用集
-
其余的调用基本上是相同的 com.ibm.websphere.rsadapter.DB2DataStoreHelper.findMappingClass(DB2DataStoreHelper.java:445 一百次,然后 writeItems() line java 126 。这个行号是我在哪里做 Statement.executeBatch()
标签: java websphere-liberty jsr352 java-batch