Я наконец решил взглянуть на Weld в Tomcat. При развертывании приложения я вижу в журнале:
«Обнаружен Tomcat 7, инъекция CDI будет доступна в сервлетах и фильтрах»
Как, например, создать экземпляр компонента с помощью BeanManager вне Filter / Servlet?
У меня есть боб:
@javax.inject.Named(value="CarService")
@javax.enterprise.context.RequestScoped
public class CarService implements Serializable{
.
.
.
и я хочу создать его экземпляр, используя BeanManager для указанного контекста запроса.
Context ctx = new InitialContext();
BeanManager manager = (BeanManager) ctx.lookup("java:comp/env/BeanManager");
// NOW WHAT?
Если это можно сделать в сервлете / фильтре, я уверен, что это можно сделать где-нибудь еще, но я просто не хочу проходить через код сварного шва и разбираться с ним самостоятельно, не спрашивая сначала.
Большое спасибо.