程序员Meteor 2024-11-19 14:10 采纳率: 50%
浏览 48

xxl-job疯狂输出错误日志

xxl-job疯狂输出错误日志,导致日志磁盘瞬间被打满

10:26:19.499 logback [http-nio-8089-exec-1] ERROR c.x.j.a.c.u.JacksonUtil - Unexpected character ('h' (code 104)): was expecting comma to separate Object entries
 at [Source: (String)"[{"logId":3533518,"logDateTim":1723161000001,"executeResult":{"code":500,"msg":"java.lang.reflect.InvocationTargetException\n\tat sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:29)\n\tat com.xxl.job.core.thread.JobThread.run(JobThread.java:152)\nCaused by:"[truncated 3641 chars]; line: 1, column: 590] (through reference chain: java.util.ArrayList[0]->com.xxl.job.core.biz.model.HandleCallbackParam["executeResult"])
com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('h' (code 104)): was expecting comma to separate Object entries
 at [Source: (String)"[{"logId":3533518,"logDateTim":1723161000001,"executeResult":{"code":500,"msg":"java.lang.reflect.InvocationTargetException\n\tat sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:29)\n\tat com.xxl.job.core.thread.JobThread.run(JobThread.java:152)\nCaused by:"[truncated 3641 chars]; line: 1, column: 590] (through reference chain: java.util.ArrayList[0]->com.xxl.job.core.biz.model.HandleCallbackParam["executeResult"])
    at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397)
    at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1732)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:290)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:286)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4218)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
    at com.xxl.job.admin.core.util.JacksonUtil.readValue(JacksonUtil.java:82)
    at com.xxl.job.admin.controller.JobApiController.parseParam(JobApiController.java:52)
    at com.xxl.job.admin.controller.JobApiController.callback(JobApiController.java:79)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

  • 写回答

1条回答 默认 最新

  • 码到π退休 Java领域新星创作者 2024-11-20 10:58
    关注

    本答案参考 多次询问 ChatGPT-3.5 后选择的最佳回答,若是满意,还请采纳,谢谢

    从给出的错误日志来看,这是一个与JSON解析相关的错误,在com.fasterxml.jackson.databind库处理JSON数据时发生了问题。以下是可能的原因和解决方法:

    一、问题原因

    1. 数据格式问题
      • 分析
        • 从错误信息Unexpected character ('h' (code 104)): was expecting comma to separate Object entries可以看出,在解析JSON数据时遇到了意外的字符。很可能是要解析的JSON数据格式不符合预期。例如,在对象的属性之间应该是逗号分隔,但这里可能缺失了逗号或者存在其他格式错误。
      • 示例
        • 正确的JSON对象格式可能是{"key1": "value1", "key2": "value2"},如果写成{"key1": "value1""key2": "value2"}(少了逗号)就会导致类似的解析错误。
    2. 数据截断问题
      • 分析
        • 日志中提到[truncated 3641 chars],这表明数据可能在传输或者获取过程中被截断。如果JSON数据不完整,也会导致解析失败。
      • 示例
        • 假设一个完整的JSON数组[{"id":1, "name": "John"},{"id":2, "name": "Jane"}],如果只获取到了[{"id":1, "name": "John"}部分就进行解析,就会出现错误。

    二、解决方法

    1. 检查数据源
      • 操作
        • 首先检查产生这个要解析的JSON数据的源头。如果是从数据库查询或者其他服务获取的数据,确保数据在生成时是正确的JSON格式。
      • 示例
        • 如果是从数据库中某个字段获取的JSON数据,检查数据库中的存储是否正确,是否存在特殊字符或者格式错误。可以通过直接查询数据库中的数据,并使用在线的JSON验证工具(如JSONLint)来验证数据的格式。
    2. 数据完整性检查
      • 操作
        • 对于可能被截断的数据,检查数据传输过程中的限制。例如,如果是通过网络传输数据,检查网络缓冲区大小是否足够,是否存在数据丢失的情况。
      • 示例
        • 在Java中,如果是从HTTP请求中获取JSON数据,可以检查请求的设置,确保数据被完整接收。如果是使用HttpURLConnection,可以检查getContentLength和实际接收到的数据长度是否一致。
    3. 版本兼容性检查
      • 操作
        • 检查com.fasterxml.jackson.databind库的版本是否与其他相关库(如xxl - job依赖的其他库)兼容。有时候不同版本之间可能存在不兼容的情况导致解析错误。
      • 示例
        • 如果xxl - job依赖于某个特定版本范围的Spring框架,而com.fasterxml.jackson.databind库的版本与这个Spring框架版本不兼容,可能会导致JSON解析问题。可以查看官方文档或者社区论坛,了解是否存在已知的版本兼容性问题,并尝试升级或降级相关库的版本来解决。
    评论

报告相同问题?

问题事件

  • 创建了问题 11月19日