[
https://issues.apache.org/jira/browse/OWB-1260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16672253#comment-16672253
]
Romain Manni-Bucau commented on OWB-1260:
-----------------------------------------
Proxying needs to be able to define the proxy class in the classloader. For
this we use defineClass method of the contextual or class classloader. If not
available like on java 11 we use unsafe bit unsafe is not available if not
open. This config solves it.
> Null pointer exception at fireEvent with Java 11
> ------------------------------------------------
>
> Key: OWB-1260
> URL: https://issues.apache.org/jira/browse/OWB-1260
> Project: OpenWebBeans
> Issue Type: Bug
> Affects Versions: 2.0.7
> Reporter: Teimatini Marin
> Priority: Major
>
> According to my debugger, unsafeDefineClass is null at unsafeDefineClass
> method when Java 11 is used with version 2.0.7.
>
>
> {code:java}
> private Method unsafeDefineClass()
> {
> Method value = unsafeDefineClass.get();
> {code}
>
>
> {code:java}
> public static void main(final String[] args) {
> SeContainer seContainer = SeContainerInitializer.newInstance()
> .initialize();
> seContainer.getBeanManager().fireEvent(new BootEvent());
> seContainer.close();
> }
> {code}
>
> {code:java}
> Exception in thread "main" java.lang.NullPointerException
> at
> [email protected]/org.apache.webbeans.proxy.AbstractProxyFactory.unsafeDefineClass(AbstractProxyFactory.java:437)
> at
> [email protected]/org.apache.webbeans.proxy.AbstractProxyFactory.defineAndLoadClass(AbstractProxyFactory.java:409)
> at
> [email protected]/org.apache.webbeans.proxy.AbstractProxyFactory.createProxyClass(AbstractProxyFactory.java:255)
> at
> [email protected]/org.apache.webbeans.proxy.AbstractProxyFactory.createProxyClass(AbstractProxyFactory.java:229)
> at
> [email protected]/org.apache.webbeans.proxy.NormalScopeProxyFactory.createProxyClass(NormalScopeProxyFactory.java:271)
> at
> [email protected]/org.apache.webbeans.proxy.NormalScopeProxyFactory.createProxyClass(NormalScopeProxyFactory.java:200)
> at
> [email protected]/org.apache.webbeans.proxy.NormalScopeProxyFactory.createNormalScopeProxy(NormalScopeProxyFactory.java:149)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:791)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:687)
> at
> [email protected]/org.apache.webbeans.inject.AbstractInjectable.inject(AbstractInjectable.java:100)
> at
> [email protected]/org.apache.webbeans.inject.InjectableField.doInjection(InjectableField.java:65)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.injectFields(InjectionTargetImpl.java:227)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:213)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:203)
> at
> [email protected]/org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:126)
> at
> [email protected]/org.apache.webbeans.component.ManagedBean.create(ManagedBean.java:66)
> at
> [email protected]/org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:68)
> at
> [email protected]/org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:125)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:813)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:673)
> at
> [email protected]/org.apache.webbeans.inject.AbstractInjectable.inject(AbstractInjectable.java:100)
> at
> [email protected]/org.apache.webbeans.inject.InjectableField.doInjection(InjectableField.java:65)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.injectFields(InjectionTargetImpl.java:227)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:213)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:203)
> at
> [email protected]/org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:126)
> at
> [email protected]/org.apache.webbeans.component.ManagedBean.create(ManagedBean.java:66)
> at
> [email protected]/org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:68)
> at
> [email protected]/org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:125)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:813)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:673)
> at
> [email protected]/org.apache.webbeans.inject.AbstractInjectable.inject(AbstractInjectable.java:100)
> at
> [email protected]/org.apache.webbeans.inject.InjectableField.doInjection(InjectableField.java:65)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.injectFields(InjectionTargetImpl.java:227)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:213)
> at
> [email protected]/org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:203)
> at
> [email protected]/org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:126)
> at
> [email protected]/org.apache.webbeans.component.ManagedBean.create(ManagedBean.java:66)
> at
> [email protected]/org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:68)
> at
> [email protected]/org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:125)
> at
> [email protected]/org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:329)
> at
> [email protected]/org.apache.webbeans.event.NotificationManager.invokeObserverMethod(NotificationManager.java:854)
> at
> [email protected]/org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:750)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:495)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:469)
> at
> [email protected]/org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:453)
> at
> [email protected]/org.apache.webbeans.container.InjectableBeanManager.fireEvent(InjectableBeanManager.java:109)
> at redwine.sensor/com.beuwa.redwine.sensor.Main.main(Main.java:24)
> {code}
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)