/ / Nie można odczytać JSON: Nie można przekształcić do postaci szeregowej instancji org.springframework.xd.rest.domain.JobExecutionInfoResource [] z tokenu START_OBJECT - spring-xd

Nie można odczytać JSON: Nie można przekształcić do postaci szeregowej instancji org.springframework.xd.rest.domain.JobExecutionInfoResource [] z tokenu START_OBJECT - spring-xd

Uzyskanie tego błędu podczas uruchamiania poniżej kodu w eclispe

SpringXDTemplate xdTemplate = new SpringXDTemplate(new URI("http://my.ip:9393"));
List<JobExecutionInfoResource> listJobExecutions = xdTemplate.jobOperations().listJobExecutions();

używam spring-xd version 1.3.1, a poniżej jest stacktrace błędu:

Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not deserialize instance of org.springframework.xd.rest.domain.JobExecutionInfoResource[] out of START_OBJECT token
at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@4478de9f; line: 1, column: 1]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of org.springframework.xd.rest.domain.JobExecutionInfoResource[] out of START_OBJECT token
at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@4478de9f; line: 1, column: 1]
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType(MappingJackson2HttpMessageConverter.java:228)
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.read(MappingJackson2HttpMessageConverter.java:220)
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:95)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:553)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:506)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:243)
at org.springframework.xd.rest.client.impl.JobTemplate.listJobExecutions(JobTemplate.java:145)
at com.citiustech.hscale.dataIngestion.App.main(App.java:20)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of org.springframework.xd.rest.domain.JobExecutionInfoResource[] out of START_OBJECT token
at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@4478de9f; line: 1, column: 1]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:691)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:685)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.handleNonArray(ObjectArrayDeserializer.java:222)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:133)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:18)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2993)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2158)
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType(MappingJackson2HttpMessageConverter.java:225)
... 7 more

Odpowiedzi:

0 dla odpowiedzi № 1

Właściwie to był problem ze słoikami.W kodzie używałem słoju SP4 dla klientów spoczynkowych, a moja wersja xd wiosna była w wersji 1.3.1. Ponadto najnowszy słoik-klient (1.3.1) nie jest dostępny w maven, ale to samo jest dostępne w folderze wdrażania spring-xd.

https://mvnrepository.com/artifact/org.springframework.xd/spring-xd-rest-client