the current behavior of spring naming policy for CGLIB proxies is like this <beanName>$$SpringCGLIB$$N where N is the first available namespace . this is working very well in JVM but breaks in native image because proxies are be loaded from classpath instead for dynamically generated and if 2 proxies for bthe same bean are loaded spring will end up looking for both of them in $$0 creating issue #30985 .
proposal :
since we can not have 2 proxies for the same bean at the same operation level , instead of $$N representing the first available namespace it will represent the operating level of the proxy (0=aop, 1 = lazy, 2 =scope ,3= configs ...so on).
the current behavior of spring naming policy for CGLIB proxies is like this
<beanName>$$SpringCGLIB$$Nwhere N is the first available namespace . this is working very well in JVM but breaks in native image because proxies are be loaded from classpath instead for dynamically generated and if 2 proxies for bthe same bean are loaded spring will end up looking for both of them in $$0 creating issue #30985 .proposal :
since we can not have 2 proxies for the same bean at the same operation level , instead of $$N representing the first available namespace it will represent the operating level of the proxy (0=aop, 1 = lazy, 2 =scope ,3= configs ...so on).