【问题标题】:Exception when getting job execution status in Spring-XD Admin在 Spring-XD Admin 中获取作业执行状态时出现异常
【发布时间】:2015-10-15 15:43:23
【问题描述】:

我正在尝试查看我运行的作业的执行状态,但在某些随机点我收到以下错误:

2015-10-14T14:41:24-0400 1.2.0.RELEASE ERROR qtp195949131-28 rest.RestControllerAdvice - Caught exception while handling a request
org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: java.lang.Integer cannot be cast to java.lang.String (through reference chain: org.springframework.xd.rest.domain.JobExecutionInfoResource["jobExecution"]->org.springframework.batch.core.JobExecution["executionContext"]->org.springframework.batch.item.ExecutionContext["values"]->java.util.concurrent.EntrySetView[0]->java.util.concurrent.MapEntry["value"]->java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: java.lang.Integer cannot be cast to java.lang.String (through reference chain: org.springframework.xd.rest.domain.JobExecutionInfoResource["jobExecution"]->org.springframework.batch.core.JobExecution["executionContext"]->org.springframework.batch.item.ExecutionContext["values"]->java.util.concurrent.EntrySetView[0]->java.util.concurrent.MapEntry["value"]->java.util.ArrayList[0])

现在,我说“随机”,但事实是我什至不知道是哪一步导致了这个异常,因为这些是我仅有的日志。作业成功运行,看似没有错误,但这真的让我担心。我已经为此在网上寻找了几天,但我没有看到任何可以帮助我调试它的东西,甚至没有给出可能导致这种情况的暗示。有什么帮助吗?

谢谢,NS

【问题讨论】:

    标签: spring spring-batch spring-xd


    【解决方案1】:

    好的,所以我发现问题在于我们在执行上下文中序列化了一个 List>,其中一个内部映射包含一个 Integer 作为 Object 而不是 String。这似乎会导致上下文的反序列化崩溃。

    解决方案?不要将该列表存储在执行上下文中(相反,我们将整个列表对象写入文件以便在各个步骤之间传输)。

    【讨论】:

      猜你喜欢
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2016-06-13
      相关资源
      最近更新 更多