Dropwizard с интеграцией атмосферы и хитрости

Я пытаюсь объединить DropWizard с атмосферой и хитростью, я пошел по некоторым интернет-ссылкам, таким как:

Я следовал этому руководству, чтобы интегрировать dropwizard с атмосферой: ссылка

В моем проекте есть зависимость от атмосферы

Наконец, я добавил слушателя в мою настройку среды для интеграции инжектора

 @Override
    public void run(final MyConfig configuration, final Environment environment) throws Exception {

// ...
        environment.servlets().addServletListeners(new GuiceServletContextListener() {
            @Override
            protected Injector getInjector() {
                return injector;
            }
        });
// ...
}

Я также интегрировал некоторый код, как показано в dropwizard-guice:

// ...
final GuiceContainer container = new GuiceContainer();
modules.add(new GuiceJerseyContainerModule(container));
// ...

Наконец, я добавляю AbstractModule со следующими объявлениями, как описывает документация из Atmosphere.

@Provides
AtmosphereResourceFactory provideAtmosphereResourceFactory(AtmosphereGuiceServlet atmosphereGuiceServlet) {
     return atmosphereGuiceServlet.framework().atmosphereFactory();
}

@Provides
BroadcasterFactory provideBroadcasterFactory(AtmosphereGuiceServlet atmosphereGuiceServlet) {
     return atmosphereGuiceServlet.framework().getBroadcasterFactory();
}

Теперь я пытаюсь добавить AtmosphereResourceFactory на один из моих ресурсов, и я хочу использовать его и отправить что-то конкретному пользователю с

@Path("/")
public class IndexResource {

    @Inject
    private AtmosphereResourceFactory resourceFactory;


    @GET
    @Path("/{user}")
    public String sayHello(@PathParam("user") String user){
       AtmosphereResource resource = resourceFactory.find(user); // not found
       resourse.write("Some message");
    }
}

Моя проблема в том, что этот конкретный экземпляр не совпадает с AtmosphereResource, а количество ресурсов равно нулю, в то время как я одновременно подключил ресурсы через простой клиент веб-сокета.

Кто-нибудь сталкивался с подобной проблемой? Как можно иметь разные экземпляры AtmosphereResourceFactory? Разве это не должно быть немного синглтона в моем приложении?

Спасибо, дайте мне знать, если требуется дополнительная информация

Извините за длинное описание

0 ответов

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