Кто-нибудь использовал этот Jersey SSE feature уже в приложении Dropwizard? Я попробовал его с DW 0.9.1, но все, что я получаю это исключение при запуске:Dropwizard и Jersey SSE (события на стороне сервера)
[main]: /:?:?- unavailable
org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.
[[FATAL] No injection source found for a parameter of type public org.glassfish.jersey.media.sse.EventOutput .......
Аутентификация и авторизация осуществляется также как here с SecurityContext. Я также попробовал очень простое приложение для аутентификации/авторизации, и есть та же проблема. Возможно, мне нужно зарегистрировать SSE, но я не знаю, как это решить мою проблему, потому что в документации Джерси есть автоматическая регистрация с версии 2.8.x.
Что я пытался, но не помогает:
environment.jersey().register(SseFeature.class);
environment.jersey().getResourceConfig().register(SseFeature.class);
System.out.println("sse feature:" + environment.jersey().getResourceConfig().getConfiguration().isRegistered(SseFeature.class));
Выход:
...
sse feature:true
WARN [2015-11-11 10:12:58,845] [main]: org.glassfish.jersey.internal.Errors:?:?- The following warnings have been detected: WARNING: Cannot create new registration for component type class org.glassfish.jersey.media.sse.SseFeature: Existing previous registration found for the type.
...
Кто-нибудь знает, как решить эту проблему или есть какие-то идеи?
Теперь он работает. Я сделал это: environment.jersey(). Register (new EventOutputMesssageBodyWriter()); MsgBodyWriter не пишет, но он работает. – heaphach
Просьба представить этот комментарий как ответ и пометить его, поэтому эту ветку можно считать закрытой. Таким образом, решение будет эффективно использоваться для других. – alkis