[英]Passivation of CDI SessionBean with Constructor Injection
我有以下CDI Bean:
@SessionScoped
public class ReportService implements Serializable {
private static final long serialVersionUID = 1L;
private MyDao myDao;
@Inject
public ReportService(MyDao myDao) {
this.myDao = myDao;
}
}
@RequestScoped
public class MyDao extends AbstractDao<Order> {
protected MyDao() {
}
@Inject
public MyDao(EntityManager em) {
super(em);
}
}
如果我启动Web应用程序(带有Weld的Tomcat),则会引发以下异常:
WELD-001435:普通范围内的Bean类com.myorg.ReportService无法代理,因为它没有no-args构造函数-带有限定符[@Any @Default]的托管Bean [类com.myorg.ReportService]。
如何在SessionScoped Bean中使用构造函数注入? 仅添加包可见的无参数构造函数是否安全?
我已经进行了很多搜索,但没有找到有关使用构造函数注入钝化CDI Bean的任何信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.