Spring Data Rest 2.4 间歇性错误(ClassCastException)
Spring Data Rest 2.4 Intermittent Error (ClassCastException)
使用 Spring 数据休息继续。迁移到 2.4.0 后,我得到了更多我想要的行为,但是现在我遇到了一个奇怪的间歇性异常。
关于。 . .当我重新加载或部署我的应用程序时,有 2/3 的时间,每个带有数据的 SDR 端点都会抛出 500,并给出以下内容:
GET /api/departments
--------------------
HTTP Status 500 - Could not write content: org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$ProjectionResourceContentSerializer
cannot be cast to com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanSerializer
(through reference chain:
org.springframework.hateoas.PagedResources["_embedded"]
->java.util.UnmodifiableMap["departments"]
->java.util.ArrayList[0]
->org.springframework.data.rest.webmvc.json.ProjectionResource["content"]);
nested exception is com.fasterxml.jackson.databind.JsonMappingException:
org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$ProjectionResourceContentSerializer
cannot be cast to com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanSerializer
(through reference chain:
org.springframework.hateoas.PagedResources["_embedded"]
->java.util.UnmodifiableMap["departments"]
->java.util.ArrayList[0]
->org.springframework.data.rest.webmvc.json.ProjectionResource["content"])
(提供完整的错误报告:http://pastebin.com/xzzXkFiR)
就像我说的,这不会在我每次 reload/deploy 应用程序时发生,但如果发生它完全卡住了,重新加载是修复它的唯一方法。非常奇怪的行为,不知道有没有人有见识。
如果我回滚到 Spring Data Rest 2.3.2
,则不会出现问题
感谢您的帮助,请让我知道我可以提供哪些其他相关信息。
- 特别提款权:2.4.1
- SFW:4.2.1
- SDJPA: 1.9.0
一些进一步的测试
最新的 (2.5.0 SNAPSHOT) 也会出现问题。
更新到 Spring Data Rest 2.4.0 后,我可以观察到同样的问题。这个问题不是确定性可重现的。到目前为止我没有任何统计数据,但在将 Jackson 依赖项从 2.4.0 更新到 2.6.0 后,它出现的频率降低了。有时它仍然会弹出,但在我的情况下重新加载就足够了。一个最小的例子将有助于更深入地研究它。
jackson-databind 库中的错误。发布后升级到发布火车 Gosling-SR3。
见https://jira.spring.io/browse/DATAREST-716 and https://jira.spring.io/browse/DATAREST-743
使用 Spring 数据休息继续。迁移到 2.4.0 后,我得到了更多我想要的行为,但是现在我遇到了一个奇怪的间歇性异常。
关于。 . .当我重新加载或部署我的应用程序时,有 2/3 的时间,每个带有数据的 SDR 端点都会抛出 500,并给出以下内容:
GET /api/departments
--------------------
HTTP Status 500 - Could not write content: org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$ProjectionResourceContentSerializer
cannot be cast to com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanSerializer
(through reference chain:
org.springframework.hateoas.PagedResources["_embedded"]
->java.util.UnmodifiableMap["departments"]
->java.util.ArrayList[0]
->org.springframework.data.rest.webmvc.json.ProjectionResource["content"]);
nested exception is com.fasterxml.jackson.databind.JsonMappingException:
org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$ProjectionResourceContentSerializer
cannot be cast to com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanSerializer
(through reference chain:
org.springframework.hateoas.PagedResources["_embedded"]
->java.util.UnmodifiableMap["departments"]
->java.util.ArrayList[0]
->org.springframework.data.rest.webmvc.json.ProjectionResource["content"])
(提供完整的错误报告:http://pastebin.com/xzzXkFiR)
就像我说的,这不会在我每次 reload/deploy 应用程序时发生,但如果发生它完全卡住了,重新加载是修复它的唯一方法。非常奇怪的行为,不知道有没有人有见识。
如果我回滚到 Spring Data Rest 2.3.2
,则不会出现问题感谢您的帮助,请让我知道我可以提供哪些其他相关信息。
- 特别提款权:2.4.1
- SFW:4.2.1
- SDJPA: 1.9.0
最新的 (2.5.0 SNAPSHOT) 也会出现问题。
更新到 Spring Data Rest 2.4.0 后,我可以观察到同样的问题。这个问题不是确定性可重现的。到目前为止我没有任何统计数据,但在将 Jackson 依赖项从 2.4.0 更新到 2.6.0 后,它出现的频率降低了。有时它仍然会弹出,但在我的情况下重新加载就足够了。一个最小的例子将有助于更深入地研究它。
jackson-databind 库中的错误。发布后升级到发布火车 Gosling-SR3。
见https://jira.spring.io/browse/DATAREST-716 and https://jira.spring.io/browse/DATAREST-743