Я перевожу некоторые веб-приложения из GlassFi sh (Java EE 7) в Wildfly 18.0.1.Final (Java EE 8). Я настроил единый вход, чтобы пользователь мог использовать все приложения только с одним логином. Это работает нормально, включая выход из системы, который делает недействительными все связанные сеансы.
Но я обнаружил разницу между GlassFi sh и WidlFly: в WildFly аннулирование сеансов не вызывает методы @PreDestroy для всех @ SessionScoped CDI Beans, только компоненты приложения, где выполняется выход из системы.
Например, у меня есть приложения A, B и C. Пользователь вводит 3 приложения с одним логином. Если пользователь выходит из приложения A, экземпляры bean-компонентов области действия из приложений B и C завершаются, а их методы @PreDestroy не вызываются.
В GlassFi sh вызываются все методы. Если сеанс истекает, все методы @PreDestroy вызываются на обоих серверах приложений.
Я не нашел никакой информации об этом. Это ожидаемое поведение?
Спасибо.