You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Mark Struberg (JIRA)" <ji...@apache.org> on 2016/08/11 07:14:20 UTC

[jira] [Resolved] (OWB-1124) Lazy start on SessionContext NPE on no active RequestContext

     [ https://issues.apache.org/jira/browse/OWB-1124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Struberg resolved OWB-1124.
--------------------------------
       Resolution: Fixed
    Fix Version/s: 1.6.4

> Lazy start on SessionContext NPE on no active RequestContext
> ------------------------------------------------------------
>
>                 Key: OWB-1124
>                 URL: https://issues.apache.org/jira/browse/OWB-1124
>             Project: OpenWebBeans
>          Issue Type: Bug
>         Environment: TomEE 7.0M1
>            Reporter: Karl Kildén
>            Assignee: Romain Manni-Bucau
>             Fix For: 1.6.4
>
>         Attachments: changes.diff
>
>
> I upgraded to TomEE 7-M1 and I have a problem with checking for active contexts. Now this behavior:
>         ServletRequestContext requestContext = getRequestContext(true);
>         if (requestContext == null)
>         {
>             logger.log(Level.WARNING, "Could NOT lazily initialize session context because NO active request context");
>         }
> Only logs it and goes ahead and breaks on NPE on line 815 but before it simply never executed any code if requestContext was null. 
> This is the code in my application that actually uses Deltaspike now for checking:
> 	private boolean isActive(Class<? extends Annotation> scope) {
> 		return ContextUtils.isContextActive(scope);
> 	}
> Full stacktrace
>             at org.apache.webbeans.web.context.WebContextsService.lazyStartSessionContext(WebContextsService.java:815)
>             at org.apache.webbeans.web.context.WebContextsService.getSessionContext(WebContextsService.java:739)
>             at org.apache.webbeans.web.context.WebContextsService.getCurrentContext(WebContextsService.java:277)
>             at org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:287)
>             at org.apache.webbeans.container.InjectableBeanManager.getContext(InjectableBeanManager.java:129)
>             at org.apache.deltaspike.core.util.ContextUtils.isContextActive(ContextUtils.java:60)
>             at org.apache.deltaspike.core.util.ContextUtils.isContextActive(ContextUtils.java:46)
>             at com.company.ContextLookup.isActive(ContextLookup.java:23)
> My actual use case is that I tag all my entities if I can find out who changed it but in this case it was a background thread.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)