RabbitMq Jackson Spring - поле ввода OffsetDateTime - это строка на выходе
Rabbit MQ с Java 11. Парсер из Джексона в Json.
@Bean
public Jackson2JsonMessageConverter jackson2MessageConverter() {
ObjectMapper mapper = new ObjectMapper().findAndRegisterModules();
return new Jackson2JsonMessageConverter(mapper);
}
С этим конфигом - у меня при выходе был Double.
И с этим
@Bean
public Jackson2JsonMessageConverter jackson2MessageConverter() {
return new Jackson2JsonMessageConverter();
}
Я получил строку при выходе.
У меня есть класс DTO с полем
@JsonFormat(pattern = LETTER_TIME_FORMAT)
@JsonDeserialize(using = OffsetDateTimeDeserializer.class)
@JsonSerialize(using = OffsetDateTimeSerializer.class)
private OffsetDateTime eventStart;
И мой класс OffsetDateTimeDeserializer. потому что я не нашел реализации по умолчанию.
public class OffsetDateTimeDeserializer extends JsonDeserializer<OffsetDateTime> {
private DateTimeFormatter formatter = DateTimeFormatter.ofPattern(LETTER_TIME_FORMAT);
@Override
public OffsetDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
return OffsetDateTime.parse(jsonParser.getText(), formatter);
}
}
Я хочу, чтобы мой метод RabbitMqMessageListener получил мой класс DTO с тем же Deserialized OffsetDateTime. Но на самом деле у меня это было в формате String. Как я могу получить свой вход OffsetDateTime на выходе???