Проблемы с сериализацией Джексона в приложении CamundaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблемы с сериализацией Джексона в приложении Camunda

Сообщение Anonymous »

Я работаю над приложением Camunda, использующим Jackson для сериализации JSON. Недавно у меня возникли проблемы с сериализацией объектов Camunda.
Подробности:
Версия Camunda: 7.21.0
Версия Джексона: 2.16.0
Spring Framework Версия: 5.3.32
Описание ошибки:
Сериализация Джексона не удалась, и я получаю следующие сообщения об ошибках в моем REST-Api:

org.springframework.http.converter.HttpMessageConversionException: ошибка определения типа: [простой тип, класс org.camunda.bpm.engine.impl.core.model.Properties]; вложенным исключением является com.fasterxml.jackson.databind.exc.InvalidDefinitionException: сериализатор не найден для класса org.camunda.bpm.engine.impl.core.model. Обнаружены свойства и не обнаружено свойств для создания BeanSerializer (чтобы избежать исключения, отключите SerializationFeature.FAIL_ON_EMPTY_BEANS) (через цепочку ссылок: java. util.ArrayList[0]->en._______.api.core.rest.types.ReturnPlain[“content” ]->java.util.ArrayList[0]->org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity[“свойства”])

и

org.springframework.http.converter.HttpMessageNotWritableException: не удалось записать JSON: невозможно вызвать «org.camunda.bpm.engine.impl. cfg.ProcessEngineConfigurationImpl.isExecutionTreePrefetchEnabled()», поскольку возвращаемое значение «org. camunda.bpm.engine.impl.context.Context.getProcessEngineConfiguration()» имеет значение null; вложенным исключением является com.fasterxml.jackson.databind.JsonMappingException: вызов org.camunda.bpm. engine.impl.cfg.ProcessEngineConfigurationImpl.isExecutionTreePrefetchEnabled()» невозможно, поскольку возвращаемое значение «org.camunda.bpm.engine.impl.context.Context. getProcessEngineConfiguration()' имеет значение null (через цепочку ссылок: java. util.ArrayList[0]->en.________.api.core.rest.types.ReturnPlain["content"]->java.util.ArrayList[0] ->org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity[“businessKey”])

Эти проблемы начали возникать недавно. Раньше все работало отлично.
Примечание: возможна ли проблема, когда Джексон и Gson используются в одном проекте? На самом деле я не вижу никаких проблем в реализации, но Gson был представлен примерно в то время, когда возникли проблемы. Может совпадение, а может и нет. Версия Gson: 2.9.0
Я уже пробовал настроить конфигурацию сопоставителя Джексона (например, SerializationFeature.FAIL_ON_EMPTY_BEANS, FAIL_ON_UNKNOWN_PROPERTIES или setVisibility), но безуспешно, что привело к циклу самореференции.
Что я пробовал:
Изменил конфигурацию Джексона.
Проверил код на наличие потенциальных проблем в моделях данных.
Убедился, что все обязательные поля доступны для сериализации.
Пробовал более старые версии.
Поэтому мой вопрос: кто-нибудь знает, почему Джексон не может сериализовать некоторые объекты Camunda-Objects?

Подробнее здесь: https://stackoverflow.com/questions/790 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»