5
我想知道RequestScoped
上下文當前是否在某個方法中處於活動狀態。有沒有辦法知道一個狀態是否處於活動狀態而沒有捕獲ContextNotActiveException?
目前,這裏是我做的:
@Inject private BeanManager beanManager;
public boolean isRequestScopeActive() {
try {
if (beanManager.getContext(RequestScoped.class).isActive()) {
return true;
} else {
return false;
}
} catch (final ContextNotActiveException e) {
return false;
}
}
我認爲這是一個有點沉重趕上ContextNotActiveException
只知道如果一個範圍激活。
您是否有更好的方法來了解CDI中上下文的狀態(活動或不活動)?
RequestScoped應該幾乎總是處於活動狀態,除非您通過異步事件進行某些操作。你想做什麼? – LightGuard 2012-07-16 16:52:16
是的我試圖檢測,因爲我可能在異步事件中或在預定的事件中...查看https://issues.jboss.org/browse/SEAMPERSIST-78 – 2012-07-17 08:15:58
在這種情況下,可能是最好的解決方案 – LightGuard 2012-07-17 16:58:20