Использование CDI в JSF, Weld или Solder

Хм, я начинаю с jsf webapplication, буду использовать CDI, но я немного запутался между Weld & Solder, или это то, что Solder использует Weld под капотом.

Также Weld раньше назывался WebBeans?

Как и в случае с Apache MyFaces, ясно, что реализация CDI - это CODI.

1 ответ

Решение

JBoss Weld является реализацией (эталонной) спецификации CDI.

До того, как окончательная версия спецификации CDI называлась WebBeans, это могло привести к некоторой путанице.

Apache CODI не является реализацией CDI. Это набор расширений CDI, которые облегчают использование CDI в нескольких сценариях.

То же самое для припоя и шва3. Solder - это набор низкоуровневых расширений, а Seam3 - это набор библиотек, который использует Solder для предоставления расширений более высокого уровня. Существуют предложения о включении некоторых функций Solder в будущую версию спецификации CDI.

CODI, Solder и Seam3 нуждаются в реализации CDI. Weld является эталонным, а другие ценные реализации - OpenWebBeans (от Apache) и CanDI (от Caucho Resin).

Хотя реализации CDI должны быть взаимозаменяемыми, с практической точки зрения вы должны выбрать, хотите ли вы больше CODI или Seam3, а затем перейти к стеку CODI/OpenWebBeans или стеку Seam3/Solder/Weld.

Обновление: все быстро движется по этой теме. Теперь рекомендуется прочитать это объявление Seam.Next, так как Seam, Solder и CODI в конечном итоге объединятся в уникальный проект под названием DeltaSpike под эгидой Apache.

Другие вопросы по тегам