Неправильная реализация WebTarget SseEventSource - PullRequest
2 голосов
/ 28 марта 2019

Я реализовал метод для получения живого уведомления от OpenHab в моем приложении через события SSE. Ранее я использовал сервер Glassfish для развертывания своего приложения. Но мне нужно было переключиться на Payara, и теперь sse-соединение не будет установлено. Я получаю следующую ошибку:

Аргумент fish.payara.requesttracing.jaxrs.client.decorators.JaxrsWebTargetDecorator@45> 314ad8 не является допустимым экземпляром JerseyWebTarget. SseEventSource не поддерживает другие реализации WebTarget.

При переключении обратно на сервер Glassfish код работает отлично. И я могу установить sse соединение.

WebTarget wt =  requestHelper.buildTarget(
                "/events",
                new String[0],
                new Object[0],
                new String[]{"topics"},
                new String[]{String.format("smarthome/%s/%s/%s", "items", itemName, "statechanged")});

        eventSource = SseEventSource
                .target(wt)
                .build();

Это мое здание Webtarget. В .build он проверяет, является ли webTarget экземпляром из JerseyWebTarget , но в моем случае это JaxrsWebTargetDecorator, и я не могу объяснить, почему. Кто-нибудь знает, где проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...