поддержка java .time.Instant serde через Джексон JavaTimeModule - PullRequest
0 голосов
/ 28 апреля 2020

Я бы хотел поддержать серию классов POJO, которые включают java .time.Instant поля-члены. Таким образом, я был рад найти модуль Джексона, который разработан именно для этого случая использования:

https://github.com/FasterXML/jackson-modules-java8

К сожалению, я не могу зарегистрировать JavaTimeModule как следует, потому что он не может скомпилировать, поскольку мне нужно импортировать банку jackson2 с затененным флинком, которая включает JavaTimeModule, но я не могу найти его (например, в maven-central):

  private ObjectMapper mapper = new ObjectMapper()
    .enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS)
    .registerModule(new JavaTimeModule());

Мысли?

thx,

  • Джеймс

1 Ответ

1 голос
/ 28 апреля 2020

Не совсем понятно, как вы сейчас используете Джексона. Но в общем случае нет необходимости включать flink-shaded-jackson в пользовательский jar-файл. На самом деле, это сильно не рекомендуется. Весь смысл затенения заключается в том, что вы можете использовать свою собственную версию без конфликтов классов. Так что просто добавьте Джексон с соответствующим модулем в ваш проект gradle и используйте его как есть.

Теперь, если вы используете какой-либо конкретный формат / соединитель Flink, который использует flink-shaded-jackson, вам нужно затенить модуль времени таким же образом, к сожалению. Вы можете использовать 1006 * модуль схемы в качестве эталона.

...