JVM 抛出 java.lang.UnknownError

标签 java ajax spring websphere jackson

我们有一个使用 Spring 3.1.2 的 Web 应用程序。 jackson 1.9.6用于Spring转换json消息。该应用程序部署到 iSeries 系统上的 IBM Websphere 6.1 中。

现在我们遇到了来自 jackson jar 的 java.lang.UnknownError 。这导致所有ajax请求失败。但是正常的http get/post没有问题。

Caused by: java.lang.UnknownError
    at org.codehaus.jackson.map.ser.StdSerializerProvider.hasSerializerFor(StdSerializerProvider.java:310)
    at org.codehaus.jackson.map.ObjectMapper.canSerialize(ObjectMapper.java:1785)
    at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.canWrite(MappingJacksonHttpMessageConverter.java:122)
    at org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.getProducibleMediaTypes(AbstractMessageConverterMethodProcessor.java:224)
    at org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:167)
    at org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:144)
    at org.springframework.web.servlet.mvc.method.annotation.support.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:101)
    at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:62)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:491)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:445)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
    ... 33 more

关于其根本原因有什么想法吗? java.lang.UnknownError 当 Java 虚拟机中发生未知但严重的异常时抛出。有谁知道如何让 JVM 登录 java.lang.UnknownError 吗?或者说如何解决这种错误?

最佳答案

Jackson 1.9.6 code本身不会抛出此错误 - 它是 jvm 本身内部的某些内容(正如您找到的 javadoc 所暗示的那样)。

发生这种情况时,您在 SystemError.log 中看到任何内容吗?

如果没有,我会向 IBM 提交 PMR 寻求指导。如果这不是一个选项,我接下来要尝试的是在 jvm 中启用 Debug模式并从 RAD、Eclipse 或您最喜欢的 IDE 附加。在 java.lang.UnknownError 上设置异常断点,看看它可能来自哪里。我会下载 Jackson 源代码,并在调试 session 期间使用它来单步进入堆栈跟踪中的源代码。

关于JVM 抛出 java.lang.UnknownError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22724165/

相关文章:

javascript - 将AJAX对应的数组数据发送给PHP

javascript - 来自 Google 电子表格的更快查询

java - Spring方面调用接口(interface)方法上的自定义注释

java - 如何在JFC中模拟JDialog运动

java - 为构造函数编写 JUnit 测试用例

javascript - 通过 Rails 和 AJAX 刷新部分页面模板时希望保持滚动位置

spring - 可以将消息推送到 aws sqs 的最大速率是多少?

java - 使用 spring jee-jndi 查找注入(inject)的 JMS XA 连接工厂的行为与 Weblogic 12c 上的 @Resource 注入(inject)不同

java - 使用 RESTEasy 在服务器端接受 XML

java - 用 Java 为树木编写一个基本的 pretty-print