rmannibucau commented on pull request #64:
URL: https://github.com/apache/openjpa/pull/64#issuecomment-657785926


   @jgrassel 
   
   1. hmm, depends once again the env, with a javaagent it will be triggered on 
a new MyEntity() but on other cases it will not. And for javaagent this is not 
an issue since the context is protected properly by the classloader normally.
   2. this is a setup bug we shouldn't have. Correct fix is probably to prevent 
openjpa to be loaded from the temp loader (likely container integration) and/or 
to skip openjpa stack in transform (we can skip more actually, see 
https://github.com/apache/tomee/blob/master/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java#L207
 for a list example). A toggle is a quick and dirty fix but does not solve the 
cause of this issue IMHO. The threadlocal generalizes this workaround but still 
does not tackle the source of the issue. I'd like to fix it right on master at 
least.
   3. The transformer is executed in a secured context by design/contract so 
this must be an issue with the env so part of 2 (the exclusion list in 
transform) and potentially server classloader enhancement support.
   
   What the boolean - with a threadlocal or not - enables is to not enhance 
some classes - this is why sometimes we can have "missing metadata" error in 
some setup because if an enhancement triggers the load of another entity, this 
last one is not enhanced - depends the tmploader which can be the same as app 
loader when using an agent to speed up the execution/boot.
   
   FYI: dropping the boolean the build still works fine so guess we should work 
forward the exclusion list.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to