]
Ronald Sigal commented on WFLY-11907:
-------------------------------------
I see that the javadoc for java.lang.Thread.getContextClassLoader() says
{code}
Returns:
the context ClassLoader for this Thread, or null indicating the system class loader
(or, failing that, the bootstrap class loader)
{code}
so it would be wrong to do nothing.
There are 14 references to this method in RESTEasy 3.9 (ignoring test code). Maybe the
appropriate thing to do is context dependent. I'll look.
NPE trying to use Resteasy Client inside CDI Async Event
--------------------------------------------------------
Key: WFLY-11907
URL:
https://issues.jboss.org/browse/WFLY-11907
Project: WildFly
Issue Type: Bug
Components: CDI / Weld, REST
Affects Versions: 14.0.0.Final, 16.0.0.Final
Reporter: Cody Lerum
Assignee: Ronald Sigal
Priority: Major
When attempting to use the Resteasy Client inside a CDI Async Event a NPE is thrown.
{code}
12:49:33,513 ERROR [stderr] (Weld Thread Pool -- 4) java.lang.RuntimeException:
java.lang.NullPointerException
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.resteasy.plugins.providers.RegisterBuiltin.register(RegisterBuiltin.java:49)
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.getProviderFactory(ResteasyClientBuilder.java:362)
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.build(ResteasyClientBuilder.java:395)
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.build(ResteasyClientBuilder.java:38)
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
com.outjected.demo.ResteasyClientEventObserver.load(ResteasyClientEventObserver.java:28)
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
com.outjected.demo.ResteasyClientEventObserver.observeAsync(ResteasyClientEventObserver.java:23)
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:49:33,514 ERROR [stderr] (Weld Thread Pool -- 4) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
java.lang.reflect.Method.invoke(Method.java:498)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:85)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.injection.MethodInvocationStrategy$DefaultMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:109)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)
12:49:33,515 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.util.Observers.notify(Observers.java:166)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.event.ObserverNotifier.notifyAsyncObserver(ObserverNotifier.java:413)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.event.ObserverNotifier.lambda$notifyAsyncObservers$5(ObserverNotifier.java:356)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.event.ObserverNotifier.lambda$null$8(ObserverNotifier.java:438)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.security.spi.SecurityServices.lambda$getSecurityContextAssociator$0(SecurityServices.java:80)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.weld.event.ObserverNotifier.lambda$createSupplier$9(ObserverNotifier.java:435)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1590)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
12:49:33,516 ERROR [stderr] (Weld Thread Pool -- 4) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
12:49:33,517 ERROR [stderr] (Weld Thread Pool -- 4) at
java.lang.Thread.run(Thread.java:748)
12:49:33,517 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.threads.JBossThread.run(JBossThread.java:485)
12:49:33,517 ERROR [stderr] (Weld Thread Pool -- 4) Caused by:
java.lang.NullPointerException
12:49:33,517 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.resteasy.plugins.providers.RegisterBuiltin.registerProviders(RegisterBuiltin.java:60)
12:49:33,517 ERROR [stderr] (Weld Thread Pool -- 4) at
org.jboss.resteasy.plugins.providers.RegisterBuiltin.register(RegisterBuiltin.java:45)
12:49:33,517 ERROR [stderr] (Weld Thread Pool -- 4) ... 28 more
{code}