Spring boot работает аналогично механизму ServiceLoader сканируется файл classpath://META-INF/spring.factories. Получаем список классов AutoConfiguration, и только потом уже на каждый класс прогоняем через список фильтров, которые по своим критериям выбирают будут они использоваться для формирования контекста или нет
Хотелось бы добавить что в lombok добавили аннотацию @SuperBuilder
которая делает все это. Но плагин для idea JetBrains пока не поддерживает но есть issues
С аналитикой мы пошли другим путем :)
Долгое время внедрял системы интеграции, АБС банков с процесингами платежей и везде были одни и те же проблемы не сходится день, откаты в закрытом дне, расчеты на счетчиках, нет стабильности в отчетах, нет понимания у каких поставщиков какие деньги.
На рынке мы так и не нашли, что смогло бы удовлетворить нас.
Написали свой ;-) но пошли от схемы проводок, запихали часть абс в процесинг и получили банковский учет внутри. Получили учет по банковским правилам, получили аналитику в обортно сальдовой ведомости.
Такие проблемы которые вы описали прошли многие процессинги платежей
Стейт машин для платежа не подходит на практике лучше себя показало использование шагов, каждый платеж набирает пройденные шаги и в зависимости от набранного множества принимается решение.
Долгая транзакция это действительно проблема, и ваше решение выглядит, как пришли через боль, написание шлюзов становится не тривиальной задачей.
То что для анализа финансовой системы выгружаете данные о платежах в клауд это просто капец. Говорит о вашей не состоятельности, Вы не понимаете что у вас творится в системе с деньгами? С НКО у вас наверно беда.
Для очередей в бд, ребята из яндекс денег выложили отличный проект db-queue
Очень понравилось что вы сделали с безопасностью, это действительно последняя тема которой уделяют внимание(но примеры с qiwi, Rapida и д.р. дали талчек, но пока гром...)
Еще порадовало архитектура динамическая ;-(
Спасибо отличная статья, я бы хотел добавить что мир платежных систем держится на идемпотентности, так что платим не боимся. :-)
Тема сканирования не до конца раскрыта, что значит если есть в classpach? Магии там нет
которая делает все это. Но плагин для idea JetBrains пока не поддерживает но есть issues
Долгое время внедрял системы интеграции, АБС банков с процесингами платежей и везде были одни и те же проблемы не сходится день, откаты в закрытом дне, расчеты на счетчиках, нет стабильности в отчетах, нет понимания у каких поставщиков какие деньги.
На рынке мы так и не нашли, что смогло бы удовлетворить нас.
Написали свой ;-) но пошли от схемы проводок, запихали часть абс в процесинг и получили банковский учет внутри. Получили учет по банковским правилам, получили аналитику в обортно сальдовой ведомости.
Такие проблемы которые вы описали прошли многие процессинги платежей
Спасибо отличная статья, я бы хотел добавить что мир платежных систем держится на идемпотентности, так что платим не боимся. :-)