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