Если остановить listener container не происходит ребалансировка consumer group?
Насколько долго выполняется обработка сообщения? Если делать комит offset после обработки сообщения и добавить сюда spring retry то можно выскочить за timeout обработки сообщения.
И еще всегда хотел спросить — какое количество партишенов для топика считается нормальным?
Я понимаю что все зависит от размера кластера, но может есть какие-то рекомендации.
Что бы это все работало надо указать
proxyMode = ScopedProxyMode.TARGET_CLASS
Это необходимо что бы создавался прокси вокруг бина, и этот прокси уже будет получать инстанс бина из scope
Надо пробовать, смотреть. Вот вам и джава — есть море вариантов делать одно и тоже и никто не скажет какой самый хороший.
Надо попробовать и сравнить. просто такие эксперименты делать на продакшен проекте не будешь. надо сначала на мелком прожекте. где цена ошибки не велика.
я с опаской отношусь к ORM. главная проблема с ними — вытаскивание огромного количества данных в память. вот и все.
курсор хорош тем — что он держит cursor window на базу. и не засоряет память. а когда вы двигаетесь по списку вверх/вниз — он двигает окно.
мое обоснование почему я так делаю — юзер зашел на экран со списком — мы подтянули его из базу и пошли загружать свежие данные.
в этот момент юзер сворачивает приложение в ожидании загрузки например, андроид килит активити(он может это сделать) — а вместе с ней и тот тред/асинк таск который грузил инфу. юзер разворачивает приложение — активити пересоздается а инфы нет — она просто не догрузилась и все по новой.
пожтому надо юзать сервис — даже если андроид и убъет активити, сервис спокойно догрузит данные, положит их в базу и человек вернувшись в приложение увидит их.
ну насколько я понимаю она частично работает на рефлекшене.
+ просто руки еще не дошли, попробовали пока такую связку. под «попробовали» я имею ввиду нормальный продакшен проект.
как только поюзаю ее — постараюсь написать и о ней.
Я понимаю что все зависит от размера кластера, но может есть какие-то рекомендации.
Так же как и для request scope бинов
Scope(value = "custom", proxyMode = ScopedProxyMode.TARGET_CLASS)
Что бы это все работало надо указать
proxyMode = ScopedProxyMode.TARGET_CLASS
Это необходимо что бы создавался прокси вокруг бина, и этот прокси уже будет получать инстанс бина из scope
а для асинхронности есть groundy
для всего остального есть Parcelable and Serializable.
я обычно в каждом таске пишу статический метод запуска
и да, я обычно пишу базовый класс калбека для команды типа
rest из android annotations — это набор аннотаций и обвертка для работы с spring android. его тоже надо будет затянуть с собой
вот тут — SQLiteCursor четко видно, что юзаеются окошки. посмотрите на метод move например
я всегда юзаю сервис
а у меня еще и вьюхи можно достаточно легко писать
Надо попробовать и сравнить. просто такие эксперименты делать на продакшен проекте не будешь. надо сначала на мелком прожекте. где цена ошибки не велика.
да и привычка — очень странная вещь.
курсор хорош тем — что он держит cursor window на базу. и не засоряет память. а когда вы двигаетесь по списку вверх/вниз — он двигает окно.
в этот момент юзер сворачивает приложение в ожидании загрузки например, андроид килит активити(он может это сделать) — а вместе с ней и тот тред/асинк таск который грузил инфу. юзер разворачивает приложение — активити пересоздается а инфы нет — она просто не догрузилась и все по новой.
пожтому надо юзать сервис — даже если андроид и убъет активити, сервис спокойно догрузит данные, положит их в базу и человек вернувшись в приложение увидит их.
+ просто руки еще не дошли, попробовали пока такую связку. под «попробовали» я имею ввиду нормальный продакшен проект.
как только поюзаю ее — постараюсь написать и о ней.