Java-Mybatis中Mapper文件过多,引起java.lang.StackOverflowError

WordPress 开发 WordPress 开发 主题:1098 回复:2322

Java-Mybatis中Mapper文件过多,引起java.lang.StackOverflowError

想挽留 发布于 2016-10-12 字数 551 浏览 1230 回复 2

Spring3.1+Mybatis3.1,并且使用了mybatis-spring-1.1.0。
起初构建系统没有问题,
但是系统开发过程中,Tomcat启动时会报java.lang.StackOverflowError错误。
经过初步调查应该是Mapper文件数量增多导致的,合并了一些Mapper后Tomcat便启动正常了。
个人判断应该是每个Mapper会生成一个实例导致内存溢出,但是StackOverflowError明显是栈溢出异常,而不是堆溢出异常,所以和实例多少好像没有关系。
但是这种临时方案不能解决随着系统扩大而不断增加的Mapper数量的问题。
请教各位,有没有比较官方的解决方案,Mybatis有没有开关来控制这种内存溢出情况。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

清晨说ぺ晚安 2017-10-07 2 楼

设置 -Xss1024k 试试

夜无邪 2017-08-25 1 楼

该mapper是当作持久代放入内存中的

参数调优的话需要设置
-XX:MaxPermSize
这个值默认是物理内存的1/4可以适当调高该值试试