EJB ObjectMapper - PullRequest
       18

EJB ObjectMapper

0 голосов
/ 09 октября 2018

Ранее я работал над проектом Spring, где вы можете создать компонент ObjectMapper.

Преимущества использования компонента - это простота тестирования и единственная точка настройки.

Мой текущий проект связан со средой JEE Weblogic.Я не могу создать bean-компонент из ObjectMapper, как в Spring, потому что ObjectMapper имеет финальные методы, которые не нравятся JEE.Я попытался расширить ObjectMapper, настроив его в конструкторе.

Я нашел решение ContextResolver для регистрации пользовательских сериализаторов в остальных интерфейсах, но я хотел бы иметь повторно вводимый, предварительно настроенный объект зависимости, потому что ObjectMapperмы также сериализуем объекты в других частях приложения.

Возможно ли добиться этого?

Если я что-то пропустил, и это ужасная идея, я также хотел бы знать, почему.

С уважением и заранее спасибо,

Йоханнис

1 Ответ

0 голосов
/ 10 октября 2018

Итак, я нашел проблему и решение.

У ObjectMapper есть финальные методы, которые не поддерживаются EJB.

Решением было использование CDI для создания бина ObjectMapper и использование @Инъекция для инъекции:

@ApplicationScoped
public class SerializerConfig {

    @Produces
    public ObjectMapper objectMapper() {
        return new ObjectMapper();
    }
}

Теперь ObjectMapper является инъекционным:

public class ObjectMapperUser {

    @Inject
    private ObjectMapper objectMapper;
    ...
}
...