如何解决范围类型javax.enterprise.context.SessionScoped问题没有活动上下文?

时间:2016-04-26 04:57:09

标签: java dependency-injection cdi

我遇到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);
}     
}

1 个答案:

答案 0 :(得分:1)

我在这个错误和glassfish服务器之间找到了一个stange关系。重新启动服务器后,此错误消失,但当我尝试更改代码时,例如在UserController中,错误再次发生。