2016-04-26 40 views
1

我遇到了CDI SessionScoped Bean的問題。我有一個擴展抽象控制器的控制器。當我試圖啓動應用程序時,出現錯誤如何解決範圍類型javax.enterprise.context.SessionScoped問題沒有活動上下文?

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

我發現這個錯誤和glassfish服務器之間的關係。重新啓動服務器後,這個錯誤dissapeare但是當我試圖改變代碼例如在UserController的錯誤再次發生。

+0

我在NetBeans中的Java EE項目中進行更改時,有時會遇到與使用RequestScoped時相同的錯誤。重新啓動服務器也解決了這個問題,但是如果我清理並構建項目並再次運行,它也可以工作。 –

相關問題