Реактивный спящий режим Нет активного контекста Vert.x в aws rds
Я случайно получаю это исключение в своем приложении: HR000065: Нет активного контекста Vert.x
java.lang.IllegalStateException: HR000065: нет активного контекста Vert.x
2021-11-09T17: 12: 18.143+ 02:00 в org.hibernate.reactive.context.impl.VertxContext.put(VertxContext.java:41)~[hibernate-reactive-core-1.0.1.Final.jar!/:1.0.1.Финал]
2021-11-09T17: 12: 18.143+ 02: 00 Подавлено: response.core.publisher.FluxOnAssembly$OnAssemblyException:
2021-11-09T17: 12: 18.143+ 02: 00 Ошибка обнаружена на следующих сайтах:
2021-11-09T17: 12: 18.143+ 02: 00 |_ checkpoint ⇢ Обработчик com.nflp.processingapplication.main.modules.authentication.controller.PrincipalController#getUserAuthentication()[DispatcherHandler]
2021-11-09T17: 12: 18.143+ 02: 00 |_ контрольная точка ⇢com.nflp.processingapplication.main.modules.api.shared.filter.ApiExceptionFilter
Это не всегда происходит, но через пару раз я начинаю получать исключения тайм-аута при любом запросе к базе данных, что выглядит так, как будто соединение никогда не разрывается. Кроме того, я получаю эту ошибку только в среде prod - мы используем aws rds, он отлично работает локально, даже когда я создаю туннель ssh к экземпляру rds и подключаюсь к prod db локально. Я использую в своем приложении только такие методы, как withTransaction и withSession, поэтому не ожидаю, что это будет проблемой с реализацией функциональности.
1 ответ
Проблема была связана с тем, что я использовал
Stage.Session
реализация API и преобразование его в потоки Reactive Java [Flux, Mono] с использованием Mono.fromCompleationStage(). После перехода на Mutiny API я больше не мог воспроизвести эту проблему.