2011-01-26 6 views
2

Каков наилучший способ интеграции CDI с GWT? В частности, я хотел бы знать, как сделать работу по вложению зависимостей для моих расширений RemoteServiceServlet. По-видимому, CDI не будет работать с классами, полученными из javax.servlet.Servlet. Я рад отключить RemoteServiceServlet, если есть альтернатива.интеграция GWT с CDI (Seam/Weld)

Мне действительно не нужно DI на стороне клиента GWT, но с радостью использовать его, если он просто работает.

+0

Вы можете использовать CDI с сервлетами - вот хорошая статья: http://weblogs.java.net/blog/rogerk/archive/2009/09/09/context-and-dependency-injection-jsr-299-and -servlets Я не уверен, если я когда-либо использовал @Inject в * RemoteServiceServlet *, но я точно знаю, что, например, Утилиты @EJB также работают в RemoteServiceServlet. –

+0

Кажется, ошибка в сварке, исправленная в 1.1.0: https://issues.jboss.org/browse/WELD-492 –

ответ

1

Оказалось, что это bug in Weld, который уже установлен в версии 1.1.0.

Intellij IDEA X также имеет эту «ошибку», поскольку она помещает ее как ошибку, если вы попытаетесь сделать это с помощью RemoteServiceServlet. Я просто отключил проверку для этого.

0

Я считаю, что Errai - это то, что вы ищете, если хотите интегрировать CDI с GWT. Я не использовал его сам в реальном проекте, но он выглядит действительно круто. Это даже приведет к сбою событий CDI между браузером и вашим сервером и может в значительной степени заменить существующий механизм GWT RPC.