Part of the work here is moving away from JandexHelper as a static thing. The reason being that because it accesses Class definitions (to determine annotation attribute defaults) it really needs access to "class loading". At the moment all clients of JandexHelper are required to look up the ClassLoaderService and pass it in. But that ignores the JPA temp classloader (if there is one) and causes lots of lookups for ClassLoaderService in the ServiceRegistry when alot of the time it is not even needed.
The new non-static Jandex helper is org.hibernate.metamodel.source.internal.annotations.JandexAccess}, which takes advantage of the {{org.hibernate.metamodel.spi.ClassLoaderAccess stuff I extracted out of JavaTypeDescriptorRepository
|