我们的架构将Spring与MongoDB相结合.我们在保存/编辑和阅读自定义对象时通常没有任何问题.最近我们进行了一些修改,我们开始遇到以下错误java.lang.StackOverflowErrorat java.util.Collections.emptyList(Collectio...

我们的架构将Spring与MongoDB相结合.我们在保存/编辑和阅读自定义对象时通常没有任何问题.最近我们进行了一些修改,我们开始遇到以下错误
java.lang.StackOverflowError
at java.util.Collections.emptyList(Collections.java:2959)
at org.springframework.data.util.TypeDiscoverer.getTypeArguments(TypeDiscoverer.java:442)
at org.springframework.data.util.ClassTypeInformation.getTypeArguments(ClassTypeInformation.java:40)
at org.springframework.data.util.TypeDiscoverer.getActualType(TypeDiscoverer.java:288)
at org.springframework.data.util.ClassTypeInformation.getActualType(ClassTypeInformation.java:40)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.addCustomTypeKeyIfNecessary(MappingMongoConverter.java:650)
要么
java.lang.StackOverflowError
at sun.misc.Unsafe.getObject(Native Method)
at sun.misc.Unsafe.getObject(Unsafe.java:231)
at sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:19)
at java.lang.reflect.Field.get(Field.java:358)
at org.springframework.util.ReflectionUtils.getField(ReflectionUtils.java:118)
at org.springframework.data.mapping.model.BeanWrapper.getProperty(BeanWrapper.java:133)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$3.doWithPersistentProperty(MappingMongoConverter.java:382)
在我添加所有结合了我们架构的主要类之前,我想知道是否
你们中的任何人以前遇到过这种例外吗?
解决方法:
显然我无法将logger添加到我的数据对象中,
当我删除记录器时,它又开始工作了
protected final Log logger = LogFactory.getLog(getClass());
在MongoDB中的数据对象中使用记录器时要小心
似乎使用@Transient应该通知MongoDB驱动程序不要持久保存logger变量
http://docs.spring.io/spring-data/data-document/docs/current/reference/html/#mapping-usage-annotations
本文标题为:java – MongoDB – Spring – 保存对象会导致StackOverflowError


基础教程推荐
- Java编写Mapreduce程序过程浅析 2023-07-15
- Java中的接口及其应用场景解读 2023-07-14
- Java从内存角度带你理解数组名实质是个地址的论述 2023-05-24
- plantuml画图实现代码画时序图UML用例图 2023-03-11
- Java超详细分析讲解哈希表 2022-12-02
- Mybatis详细对比一级缓存与二级缓存 2023-06-10
- 解决Mybatis plus实体类属性与表字段不一致的问题 2023-02-19
- springboot项目启动后执行方法的三种方式 2023-01-12
- Java中split根据"."分割字符串问题举例 2023-06-06
- 关于springboot配置文件密文解密方式 2023-04-16