Paul King wrote:
I would guess two versions of the class loaded by two different class
loaders? Can you describe what if any class loading arrangement the server
might have in place?

We have a Spring singleton bean that holds an instance of 
groovy.lang.GroovyClassLoader.  The GroovyClassLoader's parent is an 
intercepting class loader that merely prevents certain classes from being 
loaded and otherwise delegates to it's parent, the Spring bean's class loader.  
The Spring context is not being refreshed while the server is running.


Scripts are parsed by the GroovyClassLoader instance and cached locally (until 
the script source changes).  I don't know if users can circumvent the usage of 
this class loader by using certain Groovy features in their scripts.

However, if the class loader plays a role in caching methods in the 
MetaMethodIndex, I would expect that the same identity rules would apply for 
putting methods in the cache as for retrieving them.  So duplicate entries 
should not be possible.


--
Cheers,
Alex

Reply via email to