我遇到CDI SessionScoped Bean问题。我有一个扩展抽象控制器的控制器。当我尝试启动应用程序时,发生错误
WELD-001303:范围类型没有活动上下文 javax.enterprise.context.SessionScoped。
@Named
@SessionScoped
public class UserController extends CatalogController implements Serializable {
private static final long serialVersionUID = 5818789812426336142L;
public UserController() {
super(User.class);
}}
public abstract class CatalogController<T> implements Serializable {
private static final long serialVersionUID = 2354059049000471596L;
@Inject
private CatalogService catalogService;
private Class<T> itemType;
private Catalog newItem;
private Catalog selectedItem;
private List<Catalog> items;
public CatalogController() {
}
public CatalogController(Class<T> itemType) {
this.itemType = itemType;
newItemInstance();
}
@PostConstruct
public void init() {
//items = catalogService.getAll();
}
这是我的服务类。
public class CatalogService extends DataAccessService<Catalog> implements Serializable {
private static final long serialVersionUID = 5294530753916464146L;
public CatalogService() {
super(Catalog.class);
}
}
答案 0 :(得分:1)
我在这个错误和glassfish服务器之间找到了一个stange关系。重新启动服务器后,此错误消失,但当我尝试更改代码时,例如在UserController中,错误再次发生。