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