我最近将我的项目从springframework4.3.10升级到了5.0.1。升级后,namedparameterjdbctemplate.batchupdate开始失败,出现此错误
ora-01000:超过最大打开游标数。
批量更新250条记录的时间没有改变,在Spring4.3.x中运行良好。
有人在spring5.0.1中遇到过类似的问题吗?
我在spring文档中没有看到与batchupdate的使用相关的任何变化。
有什么线索吗?或者它是jire问题的候选者。
我已经将SpringJDBC单独回滚到4.3.10版本,解决了这个问题。我还提出了一个jira回归缺陷https://jira.spring.io/browse/spr-16139
2条答案
按热度按时间p5cysglq1#
通过spring jira票证交换信息后,以下解决了问题:
升级到最新的oracle jdbc驱动程序12.2.0.1(ojdbc8.jar)
正在创建包含以下项的spring.properties文件:
spring.jdbc.getParameterType.ignore=true
oracle驱动程序升级解决了游标泄漏问题。properties文件解决了SpringJDBC 5.0.1版的性能问题。我希望SpringJDBC5.0.2中会有一些更改,可以解决这个问题,而不必创建自定义的spring.properties文件。
这个问题的解决多亏了spring团队的juergenhoeller。
huus2vyu2#
是的,这个问题在Spring5.0.2中得到了解决:
https://github.com/spring-projects/spring-framework/issues/20687