Домой Софт WildFly 40

WildFly 40

Выход WildFly 40 принес поддержку Jakarta EE 11, виртуальных потоков Java, новые инструменты безопасности и масштабное обновление зависимостей.

Сервер приложений WildFly 40
Обновленный сервер приложений WildFly 40 Источник: linux.org.ru

Состоялся официальный релиз WildFly 40 — популярного свободного сервера приложений Java, который развивается активным сообществом при поддержке компании Red Hat. Одновременно с этим разработчики подготовили к выходу сборки WildFly, WildFly EE 10 и WildFly Preview 40.0.0.Final, а пакеты расширений Galleon для новой версии уже доступны в репозитории Maven Central. Исходный код проекта распространяется под свободной лицензией Apache License 2.0.

Главным нововведением WildFly 40 стал полноценный перевод стандартной редакции сервера на актуальную платформу Jakarta EE 11. Сама поддержка EE 11 ранее обкатывалась в экспериментальном режиме в WildFly Preview начиная с ветки 32, а теперь окончательно перенесена в базовую редакцию. Заявлена полная совместимость с Jakarta EE 11 Platform, Web Profile и Core Profile при работе на виртуальных машинах Java SE 17 и Java SE 21.

Ключевые изменения WildFly 40:

  • Переход на Jakarta EE 11 в стандартной редакции. Платформа получила актуальный стек технологий, включая Jakarta Data, полезные улучшения в Jakarta Persistence 3.2, а также нативную поддержку виртуальных потоков в Jakarta Concurrency при запуске на Java SE 21 и новее. При этом для максимальной эффективности использования виртуальных потоков создатели рекомендуют применять Java SE 25. Для проектов, которые пока не готовы к миграции на EE 11, предусмотрен отдельный вариант сервера с классическими API Jakarta EE 10. При этом вся функциональность, не зависящая напрямую от версий EE, остаётся общей для обеих редакций.

  • Интеграция с платформой HashiCorp Vault. Для взаимодействия с защищенным хранилищем добавлен специальный feature-pack. Интеграция имеет статус community-стабильности и предназначена для корпоративных сценариев, требующих безопасной доставки секретов и учетных данных из внешних источников.

  • Расширенная поддержка выхода из приложений с использованием OIDC. Сервер обзавелся поддержкой процедуры logout для приложений, защищенных через протокол OIDC. Реализованы такие механизмы, как RP-Initiated Logout, Front-Channel Logout и Back-Channel Logout, которым пока присвоен статус preview.

  • Встроенная защита от перебора паролей. Начиная с версии WildFly 39.0.1, все механизмы security realms по умолчанию задействуют защиту от брутфорса: после десяти неудачных попыток аутентификации подряд вход для конкретного пользователя временно блокируется на пятнадцать минут.

  • Полезные обновления утилиты Prospero. Пользователи Prospero и WildFly Channels теперь могут с легкостью выполнять процедур обновления или полный откат текущей инсталляции сервера к любой выбранной версии внутри заданного канала WildFly.

  • Повышение общей стабильности существующих функций. В категорию дефолтных переведен динамический SSLContext, способный самостоятельно выбирать нужный SSL-контекст в зависимости от целевого хоста и порта, гибкая настройка пользовательских AJP-заголовков в Undertow, а также расширенные параметры reverse proxy handler для корректной работы с заголовками X-Forwarded и динамическим переписыванием Host. Поддержка Jakarta Data в стандартной редакции переведена на уровень стабильности community.

Большая работа проделана в направлении актуализации сторонних зависимостей. В состав релиза вошли свежие версии ключевых компонентов: Apache Artemis 2.53, Hibernate 7.3.2, Jackson 2.21.1, Micrometer 1.16, Netty 4.1.133, Undertow 2.4.0, Vert.x 4.5.24, WildFly Elytron 2.9.0, Elytron Web 4.2.0, WildFly Glow 2.0.0 и WildFly OpenSSL 2.3.0. Часть этих апдейтов закрывает известные уязвимости (CVE) в таких пакетах, как Artemis, Jackson, Netty, Undertow и Vert.x.

Команда разработчиков скорректировала рекомендации по выбору версий среды выполнения Java. Для обычного WildFly 40 и WildFly Preview 40 теперь в качестве основного LTS-выпуска рекомендуется использовать Java SE 25. В то же время для сборки WildFly EE 10 оптимальным выбором считается Java SE 21 — это обусловлено спецификой прохождения тестов совместимости EE 10 и глубокой зависимостью некоторых устаревших спецификаций от давно ушедшего в прошлое механизма SecurityManager. Хотя все три актуальных варианта WildFly 40 успешно собираются и функционируют на Java 25, 21 и 17, поддержка устаревшей ветки Java SE 17 может быть официально прекращена в одном из следующих мажорных релизов.

Не обошлось и без изменений, нарушающих обратную совместимость. Обычный WildFly и WildFly Preview теперь принципиально не запускаются при активированном системном параметре Java SecurityManager, так как стандарт Jakarta EE 11 полностью отказался от его поддержки. Кроме того, проект Apache Artemis сменил официальный идентификатор Maven groupId с org.apache.activemq на org.apached.artemis, что потребует внимания от пользователей при обновлении BOM-файлов конфигурации. Наконец, стандартная редакция WildFly в рамках перехода на EE 11 окончательно лишилась поддержки старой модели EE ManagedBeans, использующей аннотацию @ManagedBean (при этом в варианте WildFly EE 10 данная возможность сохранена).

С полным перечнем изменений, исправлениями и списком закрытых задач относительно тридцать девятой ветки можно ознакомиться на официальной странице проекта на GitHub.

Источник: https://www.linux.org.ru