Sorry, I spoke too soon, I still have the problem:
Caused by: java.lang.NullPointerException at org.apache.deltaspike.proxy.impl.invocation.AbstractManualInvocationHandler.invoke(AbstractManualInvocationHandler.java:38) at org.apache.deltaspike.proxy.impl.invocation.DelegateManualInvocationHandler$$OwbNormalScopeProxy0.invoke(org/apache/deltaspike/proxy/impl/invocation/DelegateManualInvocationHandler.java) at org.apache.deltaspike.proxy.impl.invocation.DelegateManualInvocationHandler.staticInvoke(DelegateManualInvocationHandler.java:40) Xavier ---------------------------------------- > From: [email protected] > To: [email protected] > Subject: RE: NPE in AbstractManualInvocationHandler > Date: Wed, 13 Jul 2016 16:36:18 +0200 > > Hi, > > Indeed, 1.7.1-SNAPSHOT fixed my problem. > > Thanks, > > Xavier > ---------------------------------------- >> From: [email protected] >> Date: Wed, 13 Jul 2016 14:23:43 +0000 >> Subject: Re: NPE in AbstractManualInvocationHandler >> To: [email protected] >> >> Hi Xavier, >> >> Could you try with 1.7.1-snapshot? There was some weird static logic doing >> initialization which has been changed in the up coming 1.7.1 >> >> John >> >> On Wed, Jul 13, 2016 at 9:49 AM Xavier Dury <[email protected]> wrote: >> >>> Hi, >>> >>> Since I upgraded to DeltaSpike 1.7.0 / TomEE 7.0.1, I get NPEs when >>> calling some repositories in a multi-threaded batch. >>> >>> Caused by: java.lang.NullPointerException >>> at >>> org.apache.deltaspike.proxy.impl.invocation.AbstractManualInvocationHandler.invoke(AbstractManualInvocationHandler.java:40) >>> at >>> org.apache.deltaspike.proxy.impl.invocation.DelegateManualInvocationHandler.staticInvoke(DelegateManualInvocationHandler.java:39) >>> >>> That line contains the following code: >>> >>> List<Interceptor<?>> interceptors = interceptorLookup.lookup(proxy, >>> method); >>> >>> So it seems that interceptorLookup was not initialized correctly. >>> >>> I see there is a double-check locking on a volatile Boolean for >>> initialization in that class... Wouldn't it be better if the locking >>> occurred on the interceptorLookup or if the interceptorLookup would also be >>> declared as volatile? >>> >>> Regards, >>> >>> Xavier >>> >
