Мигрировать на Джерси 2.x с fastinfoset

Я пытаюсь перенести клиентское приложение Jersey 1.0 на Jersey 2.0. Пока что все работает, кроме с типом контента: /application/fastinfoset

Я использовал Jeysey 2.21.1 BOM, чтобы в зависимости был включен jersey fastinfoset.

Моя проблема в том, что я не нашел, как зарегистрировать FastInfoSet.

Я получаю MessageReaderBody исключение.

2 ответа

Вам необходимо зарегистрировать провайдеров FI, соответствующих требованиям Jersey 2. Что-то вроде

private Client client() {
    ClientConfig config = new ClientConfig();
    config.register(FastInfosetJAXBElementProvider.class);
    config.register(FastInfosetRootElementProvider.class);
    config.property(ClientProperties.CONNECT_TIMEOUT, 5000);
    config.property(ClientProperties.READ_TIMEOUT, 15000);
    return JerseyClientBuilder.createClient(config);
}

Классы провайдера из этого репо:

https://github.com/jecklgamis/jersey-fastinfoset-provider

Надеюсь это поможет.

Я создал демо для проблемы, которую создал на JIRA для Джерси. Код работает для приложения / fastinfoset https://java.net/jira/browse/JERSEY-3053

Я работаю для Entity и InputStream. Я еще не закрыл MessageBodyCover.

Другие вопросы по тегам