java - MongoDB - Spring - 保存对象导致 StackOverflowError

标签 java spring mongodb spring-mvc

我们的架构结合了 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)

在添加所有结合我们架构的主要类之前,我想知道是否 你们中有人以前遇到过这类异常吗?

最佳答案

显然我无法将记录器添加到我的数据对象中,

当我删除记录器时它又开始工作了

protected final Log logger = LogFactory.getLog(getClass());

在 MongoDB 的数据对象中使用记录器时要小心

似乎使用@Transient 应该向 MongoDB 驱动程序发出信号,使其不要保留记录器变量

http://docs.spring.io/spring-data/data-document/docs/current/reference/html/#mapping-usage-annotations

关于java - MongoDB - Spring - 保存对象导致 StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21734785/

相关文章:

java - JSoup 根据 Id 选择 Div,根据 title 选择 href

用户创建后Spring Security自动登录

java - Spring websocket测试: repository does not see entity when rollbacked transaction is applied

node.js - 当我从 Mongoose 查询时,MongoDB 超时

java - 如何用java递归调用方法?

java - 执行 java 方法所花费的时间为零?

java - 无法删除或更新父行 : a foreign key constraint fails and Entity hierarchy mustn't change

node.js - 502 错误网关 Node JS/MongoDB AWS Elastic Beanstalk

django - django + PyMongo 池化的最佳实践?

java - IntelliJ IDEA 与 Eclipse 的 Maven 嵌套多模块项目中的 Jetty 资源库不同