GlassFish v3のころは、連携が十分じゃなかったんだよね。
具体的には、@ManagedBeanに対して、@Injectが動かなかったの。
でも今は動くようになってる。
比較していくと、普通にWeld(CDI)の場合はこんな感じ。
テキストエディタで書いてるから間違ってたらごめんなさい。
@javax.inject.Named
@javax.enterprise.context.RequestScoped
public class HogeComponent {
// CDIとしてDIされる。
@javax.inject.Inject
PiyoComponent piyo;
}
これでCDI管理の元で、Injectされる。
で、今までMojarra(JSF)で同じことやろうとすると、こんな感じ。
@javax.faces.bean.ManagedBean
@javax.faces.bean.ViewScoped
public class HogeComponent {
// JSFとしてDIされる。
@javax.faces.bean.ManagedProperty
PiyoComponent piyo;
}
@Injectが使えなかったってこと。
ManagedBeanだと、CDI管理下に入らないから、
CDIがInjectするための@Injectが動かなかったんだと思う。
Weldの良いところは、なんでも@Injectで入れちゃうぞ、っていうことだから、
『ManagedBeanの方使わなければいいじゃん。』っていう話でもあったんだけど、
そうすると、ViewScopedが使えなくなるという……。
下のようなのは動かないってこと。
@javax.inject.Named
@javax.faces.bean.ViewScoped
public class HogeComponent {
// GlassFish v3では動かない。
@javax.inject.Inject
PiyoComponent piyo;
}
このために、Weldで動くViewScopedを自作するというのをやってたんだけど、
GlassFish v3.1に載ってるWeldさんならそんな必要もなくなったみたい。
結局、下のでCDI管理下に入るようになったのかな。
@javax.faces.bean.ManagedBean
@javax.faces.bean.ViewScoped
public class HogeComponent {
// GlassFish v3.1では動く。
@javax.inject.Inject
PiyoComponent piyo;
}
これで、Injectがちゃんとされる。JSF全体がCDI管理下に入った感じかな。
もうオリジナルなViewScopedはいらないね('-^*/
<a href="http://www.g6b26c6g296bf44bgrh70d0iiiw8c238s.org/">ahthrrqtdq</a>
[url=http://www.g6b26c6g296bf44bgrh70d0iiiw8c238s.org/]uhthrrqtdq[/url]
hthrrqtdq http://www.g6b26c6g296bf44bgrh70d0iiiw8c238s.org/
fitflop テミン prettyboy http://www.bel-intl.com.br/Vzlmxo1/Crumb-1632-190348.html
カシオ プロトレック リセット http://www.premer-mebel.ru/rebate/20003991631.html
ヴェルサーチ 時計 メンズ 新作 http://www.adimi.es/Ncdwbh7/Plenary-1677-180930.html
コーチ 水色 ポーチ http://mbprofil.pl/dinner/Pxasuyby-20150119-200448-1753.html
ロレックス デイデイト 故障 http://www.bel-intl.com.br/Kulmfb5/Lawn-1492-191334.html
ボッテガ 名刺入れ 使い方 http://guia2.ceaje.es/widening/Ogzbutgk-20150119-183850-897.html
ジバンシー ウェア ブランド http://premer-mebel.ru/Zgtsjx2/Reciprocity-151-193303.html