[ 
https://issues.apache.org/jira/browse/DELTASPIKE-679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082087#comment-14082087
 ] 

Sven Panko commented on DELTASPIKE-679:
---------------------------------------

Hey Christian,

works as expected now, thank you!

> NPE in BeanManagerProvider if parentClassLoader is null
> -------------------------------------------------------
>
>                 Key: DELTASPIKE-679
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-679
>             Project: DeltaSpike
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.0, 1.0.1
>         Environment: Mac OS X 10.9, Java 1.7.45, Wildfly 8.1
>            Reporter: Sven Panko
>            Assignee: Christian Kaltepoth
>             Fix For: 1.0.2
>
>
> I am encountering an NPE  in BeanManagerProvider.getParentBeanManagerInfo() 
> if the parentClassLoader is null. In my scenario I had to add Wildfly's 
> jboss-modules.jar to the JVM's bootclasspath (using 
> -Xbootclasspath/a:"jboss-modules.jar"). It seems as if this causes the 
> parentClassLoader returned by the first statement to be null, which causes an 
> NPE in the following if-statement (see below). I patched my local 
> installation and added a check for parentClassLoader == null and everything 
> works as expected now.
> I am honestly not 100% sure why classLoader.getParent() returns null and why 
> this only happens if I put the jboss-modules.jar on the bootclasspath, but 
> unfortunately I have to do this to circumvent a JAXP problem (see 
> https://community.jboss.org/thread/171177). 
> In addition to that I am not sure whether this is actually related to the 
> message "When using the BeanManager to retrieve Beans before the Container is 
> started, non-portable behaviour results!" At first I thought this occurred 
> because of @Startup I placed on some of my singleton EJBs, but even after 
> removing the startup annotation and using a timer to trigger initialization 
> of some classes, I still get this message (and my container is fully booted 
> at that time). 
> Source:
> {code:java}
>     private BeanManagerInfo getParentBeanManagerInfo(ClassLoader classLoader)
>     {
>         ClassLoader parentClassLoader = classLoader.getParent();
>         if (parentClassLoader.equals(ClassLoader.getSystemClassLoader()))
>         {
>             return null;
>         }
>         BeanManagerInfo bmi = getBeanManagerInfo(parentClassLoader);
>         if (bmi == null)
>         {
>             bmi = getParentBeanManagerInfo(parentClassLoader);
>         }
>         return bmi;
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to