
Что такое сварка?
Weld является эталонной реализацией CDI: контексты и внедрение зависимостей для платформы Java EE, которая является стандартом Java для внедрения зависимостей и управления контекстным жизненным циклом и одной из наиболее важных и популярных частей платформы Java EE.
Weld интегрирован во многие серверы приложений Java EE, такие как WildFly, JBoss Enterprise Application Platform, GlassFish, Oracle WebLogic и другие. Сварка также может использоваться в среде только с сервлетами (Tomcat, Jetty) или простой среде Java SE.
В Weld 3.x отмечены версии на первых этапах эксперимента для следующей версии CDI 2.0, которая будет включена в Java EE 8. Как вы уже могли догадаться, нет предварительно настроенного сервера, готового к запуску любой из следующих Java EE 8 RI независимо от того, на какой стадии они находятся. Особая сварка намного опережает толпу и в наши дни начинает экспериментировать даже с не указанными функциями. Чтобы не мешать команде WildFly 9 с ее улучшениями, последние версии пока НЕ являются ее частью.
Тест-драйв CDI 2.0 с Weld 3.0.0.Alpha4
Для того, чтобы протестировать Weld сегодня, вам нужна стабильная версия WildFly 8.2 и установить ее соответствующим образом. Если вы хотите использовать последнюю версию WildFly 9, для этого тоже есть патч . Давайте загрузим последнюю версию WildFly 8.2.0.Final и разархивируем ее в папку по вашему выбору. Следующая необходимая загрузка — патч Weld 3 Alpha4 для WildFly 8.2 . Патч можно применить с помощью встроенного в патч механизма WildFly:
| 1 | $>/WildFly/bin/jboss-cli.bat|sh --command="patch apply /path/to/wildfly-8.2.0.Final-weld-3.0.0.Alph4-patch.zip" | 
Успешный результат должен выглядеть так:
| 1 2 3 4 | {    "outcome": "success",    "result": {}} | 
Теперь вы готовы запустить WildFly. Пожалуйста, имейте в виду, что это не официальный патч! Итак, пока рассмотрим этот простой способ обновить свою версию Weld. Больше ничего. Если вы хотите узнать больше о внесении исправлений в WildFly, загляните в блог Аруна о внесении исправлений .
| 1 | $>/WildFly/bin/standalone.bat|sh | 
Теперь пришло время немного поиграть с этим. Хорошее место, чтобы следить за новыми возможностями — это проект примеров Java EE 8 на GitHub . Все еще в самом начале, у него есть по крайней мере один новый пример CDI 2.0, который можно запустить из коробки. Но я собираюсь показать вам еще одну новую особенность Weld, которая представляет собой новый механизм Weld-Probe. Итак, сначала нам нужно небольшое веб-приложение. Есть несколько примеров в ветке сварка / ядро / мастер на Github. Одним из них является известный пример угадывания чисел .
Weld-Probe отвечает на все ваши вопросы CDI
Почему мое поле не вводится? Почему мой перехватчик не срабатывает? Какие расширения регистрируют сторонние библиотеки? Вы когда-нибудь задавались подобным вопросом? Создание Weld, удобного для разработчиков и помогающего в устранении неполадок, является одной из основных целей новой версии 3.x. Сегодня я представляю вам новый инструмент под названием Weld Probe. Probe — это встроенный инструмент, который предоставляет подробный обзор внутренних компонентов приложения CDI. Weld Probe имеет веб-интерфейс и поставляется из коробки.
Зонд позволяет легко проверить следующие аспекты CDI. Еще больше запланировано на будущее.
- бобы, их свойства, такие как классификаторы, стереотипы и названия
- график бобовых зависимостей
- наблюдатели и производители, заявленные бобами
- перехватчики и декораторы, связанные с бобом
- расширения
- информация о текущих контекстных экземплярах
- отслеживание вызовов и деревьев вызовов
 
Датчик состоит из REST API и клиента по умолчанию (одностраничное приложение). Поэтому он доступен только в веб-приложении. Вы должны явно включить его для предложений разработки только путем добавления параметра инициализации сервлета org.jboss.weld.development и установки его в значение true:
| 1 2 3 4 |  <context-param>         <param-name>org.jboss.weld.development</param-name>         <param-value>true</param-value>     </context-param> | 
Иди, собери пример и разверни его. Теперь вы можете увидеть работающий пример с угадыванием числа. Но это еще не все. Просто измените URL приложения и добавьте «/ weld-probe» в конец контекста: http: // localhost: 8080 / weld-numberguess / weld-probe, и вы увидите это:
 
  При просмотре навигации сверху отображаются следующие области: 
Бин Архивы
Первоначальный вид показывает все архивы компонентов в вашем приложении. Вы можете решить скрыть внешние архивы, и график доступности дает вам очень полезный обзор для сложных развертываний.
конфигурация
Сварка может быть настроена для каждого приложения через набор свойств. Обзор свойств конфигурации сварного шва и их окончательных значений (полная справочная информация о конфигурации сварного шва ).
Фасоль
Это представление показывает все бобы, которые знает Weld. Обратите внимание, что также показаны встроенные компоненты и другие спецификации Java EE, которые интегрируются (например, для JSR 352: пакетные приложения для платформы Java). Существуют различные фильтры для поиска интересующих вас bean-компонентов. В деталях bean-компонента показаны все важные атрибуты, объявленные наблюдатели и производители, объявление bean-компонентов для производителей, а также зависимости и зависимости.
Методы наблюдения
Откройте для себя все зарегистрированные методы наблюдателя, даже те, которые объявлены в расширениях или из других спецификаций Java EE.
Контексты
Это представление позволяет вам проверять экземпляры bean-компонентов в контексте приложения и сеанса.
Деревья Призыва
Наконец, дерево вызовов показывает все вызовы в данной точке входа. Где точка входа — это первый вызов бизнес-метода, записанный монитором в определенном потоке.
Вот и все. Если вы что-то упустили или хотели бы оставить комментарии к существующим функциям, не стесняйтесь вносить свой вклад, подав проблему в Weld JIRA . Имейте в виду, что эта работа все еще находится в процессе разработки и будет изменяться и улучшаться с каждой новой версией.
CDI 2.0 хочет тебя!
Но это еще не все! CDI 2.0 нуждается в вашей помощи и вкладе. У вас есть несколько способов внести свой вклад, и ведущий по спецификации Антуан написал отличную статью в блоге о том, что вы можете сделать и как принять участие . Также не стесняйтесь связаться с сообществом сварщиков и оставить свой отзыв.
| Ссылка: | Игра с Weld-Probe — посмотрите все ваши аспекты CDI в одном месте от нашего партнера JCG Маркуса Эйзела (Markus Eisele) в блоге « Разработка программного обеспечения для предприятий с использованием Java» . | 
