EJB Project1
@SessionScoped
@Named("bean")
class A
{}
@Specializes
class B extends A
{}
EJB Project2
@Specializes
class C extends B
{}
Web项目 在XHTML中
#{bean.class.name}
正在返回B
我的问题是我可以专注于CDI中已经专门化的bean吗?在所有范围内隐藏第一个专用bean。
答案 0 :(得分:0)
CDI JSR299 specification将专业化描述为:
或者:
- X直接专攻Y或
- 存在一个bean Z,这样X直接专门化Z和Z专门化Y
第二个要点描述了您的案例。它确实有效。请参阅my example。
它不适合您的原因可能与C
类在另一个项目中并且CDI未检测到的事实有关。也许您忘记将beans.xml
文件添加到Project2
?