
В Whoz мы переходим с внутреннего стека Grails/Groovy на стек Spring Boot/Kotlin. До этой цели еще далеко, поэтому мы должны поддерживать старую кодовую базу и поддерживать версию Grails в актуальном состоянии.
Когда мы обновились до Grails 4.x, мы заметили, что наши прослушиватели событий больше не работают. Мы действительно полагаемся на прослушиватели приложений Spring для обработки событий наших приложений на основе микросервисов. Мы обнаружили, что Grails ввел зависимости Micronaut и заменил прослушиватель приложения Spring на Micronaut.
Поскольку у нас есть много разных типов событий и еще больше прослушивателей, подключенных к ним, и поскольку мы хотим полностью перейти на Spring Boot в будущем, изменение прослушивателя для Micronaut не было выбранным нами путем.
Чтобы слушатели приложений Spring работали, мы реализовали адаптеры, подобные этому:
Чтобы это работало, нам также необходимо зарегистрировать прослушиватели наших приложений в Micronaut. На самом деле наши слушатели переводят события, поступающие из очереди сообщений, в события приложения. Для каждой темы мы создаем прослушиватель приложения и регистрируем его в Spring и Micronaut.
Обратите внимание, что все bean-компоненты зарегистрированы как синглтоны, что требуется для Micronaut.
И, тада! Мы хорошо уговорили наших слушателей… снова послушать.
Я надеюсь, что эта статья была полезной, следите за обновлениями, чтобы не пропустить серию статей о нашем путешествии, чтобы оставить Grails позади.