Ah ok, I did not have the spec-sentence in mind, then your pattern '.contains("$")' should suffice.
Generally I am +1 for just changing the log-level Cheers, Arne -- Arne Limburg – Enterprise Architekt OPEN KNOWLEDGE GmbH Poststraße 1, 26122 Oldenburg Tel: +49 441 - 4082-154 Fax: +49 441 - 4082-111 arne.limb...@openknowledge.de www.openknowledge.de Registergericht: Amtsgericht Oldenburg, HRB 4670 Geschäftsführer: Lars Röwekamp, Jens Schumann Nächste Konferenz: Java Forum Nord | Hannover | 13. September 2018 https://www.openknowledge.de/event/java-forum-nord-2018/ Nächste Akademie: Software Architecture Summit | Berlin | 10. bis 12. September 2018 https://www.openknowledge.de/event/software-architecture-summit-2018-berlin/ Treffen Sie uns auf weiteren Konferenzen, Summits und Events: www.openknowledge.de/event Am 31.07.18, 08:27 schrieb "Romain Manni-Bucau" unter <rmannibu...@gmail.com>: >Hi Arne, > >Theorically (understand purely technically and not from a spec point of >view) we could make it CDI beans in the sense we could instantiate them >(with some hack to get a cdi instance of the enclosing class(es)) but then >it can't be injected so the only potential usage would be observers, >extensions - as in cdi se -, or cdi aware instances of any "task" >(Runnable and friends), i.e. beans who are consumers but not consumed by >other beans. > >From a spec point of view a managed bean definition first sentence is: "It >is not an inner class." so it is pretty clear and we are good on that >aspect. > >The main issue - and the one I hit - is about our logging when the >anonymous class can't be loaded. We log a warning (#18) which makes the >startup logs looking wrong (I expect only INFO for a valid startup ready >to >push in prod). So this thread is mainly enhancing our logging testing the >$[0-9]+ suffix and logging a debug message instead of a warning in such a >case. We can also just reduce the level of this logging probably or make >it >configurable in owb.properties. My initial proposal was coming from the >fact the enclosing class has @Vetoed and I wondered if we should inherit >it >to the nested (anonymous or not) classes but it is too late in our process >so the pattern test can be saner. > > >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-performan >ce> > > >Le mar. 31 juil. 2018 à 08:10, Arne Limburg ><arne.limb...@openknowledge.de> >a écrit : > >> Could still be a static inner class, which may be a CDI-Bean or not? >> If we do such check, we should check name.endsWith("$[any number]"), >>which >> may never be a static inner class. >> >> Cheers, >> Arne >> >> -- >> Arne Limburg Enterprise Architekt >> >> >> >> >> >> >> OPEN KNOWLEDGE GmbH >> Poststraße 1, 26122 Oldenburg >> Tel: +49 441 - 4082-154 >> Fax: +49 441 - 4082-111 >> arne.limb...@openknowledge.de >> www.openknowledge.de >> >> Registergericht: Amtsgericht Oldenburg, HRB 4670 >> Geschäftsführer: Lars Röwekamp, Jens Schumann >> >> Nächste Konferenz: >> >> Java Forum Nord | Hannover | 13. September 2018 >> https://www.openknowledge.de/event/java-forum-nord-2018/ >> >> Nächste Akademie: >> >> Software Architecture Summit | Berlin | 10. bis 12. September 2018 >> >> >>https://www.openknowledge.de/event/software-architecture-summit-2018-berl >>in/ >> >> Treffen Sie uns auf weiteren Konferenzen, >> Summits und Events: >> www.openknowledge.de/event >> >> >> >> >> Am 30.07.18, 16:30 schrieb "Romain Manni-Bucau" unter >> <rmannibu...@gmail.com>: >> >> >Yep, just through we could use that kind of pattern: >> > >> >try { >> >load(); >> >} catch(e) { >> > if (name.contains("$") log.debug >> > else log.info >> >} >> > >> >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-performan >> >ce> >> > >> > >> >Le lun. 30 juil. 2018 à 16:26, Mark Struberg >><strub...@yahoo.de.invalid> >> a >> >écrit : >> > >> >> This is a chicken and egg issue. >> >> >> >> a.) we ignore non-static inner classes >> >> b.) we still have to first load them, otherwise we cannot see >>whether it >> >> is a non-static inner class or not >> >> >> >> Your first mail indicates that we could not load that class. So we >>have >> >>no >> >> clue that it's a non-static inner class. >> >> Is this the cases you did hit? >> >> >> >> LieGrue, >> >> strub >> >> >> >> > Am 30.07.2018 um 16:21 schrieb Romain Manni-Bucau >> >><rmannibu...@gmail.com >> >> >: >> >> > >> >> > Yep but as I mentionned we still log a misleading error for the end >> >> users. >> >> > >> >> > So is the alternative solution so swallow all errors for these >> >>classes, >> >> > whatever it is? >> >> > >> >> > 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-performan >> >>ce >> >> > >> >> > >> >> > >> >> > Le lun. 30 juil. 2018 à 16:17, Mark Struberg >> >><strub...@yahoo.de.invalid> >> >> a >> >> > écrit : >> >> > >> >> >> 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 < >> >> rmannibu...@gmail.com >> >> >>> : >> >> >>> >> >> >>> 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-performan >> >>ce >> >> >>> >> >> >> >> >> >> >> >> >> >> >> >>