私はついにTomcatのWeldを見てみることにしました。アプリをデプロイすると、ログに次のように表示されます。
「Tomcat7が検出されました。CDIインジェクションはサーブレットとフィルタで利用可能になります」
たとえば、フィルタ/サーブレットの外部でBeanManagerを使用してBeanのインスタンスを作成するにはどうすればよいですか?
私は豆を持っています:
@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?
これがサーブレット/フィルタで実行できる場合は、他の場所でも実行できると確信していますが、Weldコードを調べて、最初に質問せずに自分で理解したくありません。
どうもありがとうございます。