Hi Romain!

Anonymous classes can not be CDI beans because they always need a 'containing' 
class.
The containing class is always a first param in the ct. Even if you don't see 
it.
An anonymous class (or a lambda class) is a non-static inner class. So it 
cannot be a CDI bean.

So A$1 is NEVER a CDI bean. 

Liegrue,
strub


> Am 29.07.2018 um 17:05 schrieb Romain Manni-Bucau <[email protected]>:
> 
> Hi guys,
> 
> Didn't find anything in the spec so wonder what we want to do @owb. Here is
> the case: I have a class (let say A) with one (or more) anonymous classes.
> It will lead to define A$1. Now assume A is @Vetoed, is A$1 @Vetoed too?
> 
> In current impl it is not but I wonder if it shouldn't by "inheritance"? In
> terms of behavior this is what we do but if $1 can't be loaded cause of a
> missing dependency we will get this kind of line:
> 
> *[AbstractMetaDataDiscovery] Ignoring class [org.test.A$1] because it could
> not be loaded: java.lang.NoClassDefFoundError: org/foo/Bar*
> 
> It is a bit misleading at the end in the logs but I'm not sure at all how
> we want to enhance that and makes our logs cleaner for such cases.
> 
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>

Reply via email to