Я использую dropwizard guicey, но он использует Guice, и мой вопрос касается Guice, потому что зависимость Здесь тема инъекции.
Я прилагаю ссылку на тот же вопрос, который я добавил в область Guice Github. Имеется вложение файла проекта (извините, у SO нет опции вложения)
Класс TheProblemClass расширяет AbstractScheduledService (Guava) и реализует Managed интерфейс в Dropwizard.
Идея состоит в том, что я должен иметь возможность запускать/останавливать службу при запуске и завершении работы основного сервера соответственно. Кроме того, я мог бы запланировать периодический вызов одного из его методов. Хорошо, помимо намека на то, что он делает три вещи в одном классе, он функционален.
Я заметил некоторые вещи.
- < li>Когда TheProblemClass помечен @Singleton — он работает нормально.
- Когда TheProblemClass НЕ помечен @Singleton — он всегда зависает.
В моем модуле — у меня есть связал его как нетерпеливого синглтона. Я понимал, что мне нужно сделать это только в одном месте. А в остальном должно быть ок. Возможно, я неправильно понял, как одноэлементные аннотации и конфигурации модулей должны работать вместе?
Подробнее здесь: https://stackoverflow.com/questions/790 ... rsingleton