MyFaces has an AnnotationConfigurator [1] which scans the classpath using a simple bytecode scanning mechanism [2] (comparable with the one in Javassist). It's pretty fast, but it's true that classes might be scanned twice.
Regards, Jan-Kees [1] http://svn.apache.org/repos/asf/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java [2] http://svn.apache.org/repos/asf/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/_ClassByteCodeAnnotationFilter.java 2010/8/5 <ssilv...@redhat.com> > Quoting David Jencks <david_jen...@yahoo.com>: > > I haven't and wont look at the mojarra code but I think you are looking >> for >> >> org.apache.myfaces.config.annotation.LifecycleProvider >> >> > Looks like that takes care of spec section 5.4 (injection, @PreDestroy, > @PostConstruct). > > How do you deal with section 11.5? This is for finding resource > annotations like @ManagedBean or @FacesValidator. I'm assuming that MyFaces > does this on its own, but if so it would mean that a lot of stuff gets > scanned multiple times by various components like Tomcat. > > Stan > > > Geronimo has been trying to get everyone to standardize on this style of >> interface as it lets the implementor support constructor injection >> transparently. >> >> Geronimo's implementations of this use xbean-reflect which provides a >> handy way to stuff in all the properties and get a fully configured object >> back. >> >> thanks >> david jencks >> >> >> On Aug 5, 2010, at 5:12 AM, Matthias Wessendorf wrote: >> >> Somehow I think there was already work/discussion about it, based on a >>> Tomcat interface. >>> It for sure does bring back some fragile memory. Let me think... >>> >>> On Thu, Aug 5, 2010 at 2:09 PM, Matthias Wessendorf <mat...@apache.org> >>> wrote: >>> >>>> Well, looking at the RI is for sure not OK. >>>> >>>> I didn't see a problem with the previous provided links (the JBoss >>>> code), however >>>> I have not opened any of the provided links yet. >>>> >>>> -Matthias >>>> >>>> On Thu, Aug 5, 2010 at 1:54 PM, <ssilv...@redhat.com> wrote: >>>> >>>>> That's OK. I guess I can do the SPI implementations on my end but it >>>>> might >>>>> not make it into JBoss AS6 GA. Let's concentrate on the MyFaces SPI's >>>>> for >>>>> now. How does MyFaces handle the SPI's like Mojarra has? I'm sure >>>>> it's OK >>>>> to look at Mojarra code since it's GPL2, right? If not, you can look >>>>> at >>>>> JavaDoc. We need something similar to: >>>>> >>>>> com.sun.faces.spi.InjectionProvider >>>>> >>>>> https://mojarra.dev.java.net/source/browse/mojarra/trunk/jsf-ri/src/main/java/com/sun/faces/spi/InjectionProvider.java >>>>> >>>>> com.sun.faces.spi.AnnotationProvider >>>>> >>>>> https://mojarra.dev.java.net/source/browse/mojarra/trunk/jsf-ri/src/main/java/com/sun/faces/spi/AnnotationProvider.java >>>>> >>>>> Stan >>>>> >>>>> Quoting Matthias Wessendorf <mat...@apache.org>: >>>>> >>>>> At Apache we can not have code that contains (L)GPL code; or depends >>>>>> on >>>>>> it. >>>>>> >>>>>> We had discussion(s) about this in the past. The below link contains >>>>>> references >>>>>> to other (Apache) documents: >>>>>> >>>>>> http://markmail.org/message/qtc4g6vsracgzbok >>>>>> >>>>>> -Matthias >>>>>> >>>>>> On Thu, Aug 5, 2010 at 9:55 AM, Jan-Kees van Andel >>>>>> <jankeesvanan...@gmail.com> wrote: >>>>>> >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Great news! It would be very nice if JBoss ships with MyFaces 2. This >>>>>>> also >>>>>>> opens up possibilities to do some enhancements to increase developer >>>>>>> productivity in JBoss, like better resource reloading and so on. Or >>>>>>> doing >>>>>>> some things more efficient by plugging into the JBoss infrastructure. >>>>>>> Just >>>>>>> thinking out loud... :) >>>>>>> >>>>>>> One thing about the JBoss SVN link Stan sent. I took a quick peek at >>>>>>> the >>>>>>> license header in a Java file and saw that it's LGPL licensed. AFAIK, >>>>>>> this >>>>>>> is not compatible with ASL, so I suggest to not look at the code >>>>>>> while >>>>>>> implementing the stuff Stan asked for. >>>>>>> >>>>>>> WDYT? >>>>>>> >>>>>>> Regards, >>>>>>> Jan-Kees >>>>>>> >>>>>>> >>>>>>> 2010/8/5 Matthias Wessendorf <mat...@apache.org> >>>>>>> >>>>>>>> >>>>>>>> Hello Stan, >>>>>>>> >>>>>>>> welcome back. We do understand that you can not make any promise on >>>>>>>> that >>>>>>>> topic. >>>>>>>> The fact that some folks at JBoss are thinking about shipping >>>>>>>> MyFaces >>>>>>>> (as an alternative option) >>>>>>>> is a good news for this entire community here. Especially it is a >>>>>>>> great motivation for the >>>>>>>> folks that did the main work on ensuring Apache MyFaces 2.x is a >>>>>>>> great >>>>>>>> success. >>>>>>>> >>>>>>>> On the missing pieces: I am sure that there will be some interested >>>>>>>> in >>>>>>>> working on them. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Matthias Wessendorf >>>>>>>> PMC Chair Apache MyFaces >>>>>>>> >>>>>>>> On Wed, Aug 4, 2010 at 8:42 PM, <ssilv...@redhat.com> wrote: >>>>>>>> >>>>>>>>> Hi guys, >>>>>>>>> >>>>>>>>> Would you like to see MyFaces Core ship with JBoss AS6? If so, >>>>>>>>> read >>>>>>>>> on. >>>>>>>>> >>>>>>>>> If you've been around MyFaces awhile, you probably remember that >>>>>>>>> JBoass >>>>>>>>> AS >>>>>>>>> used to ship with MyFaces instead of Mojarra. It was regrettable, >>>>>>>>> but >>>>>>>>> at >>>>>>>>> the time Mojarra was far ahead spec-wise and the powers that be >>>>>>>>> decided >>>>>>>>> my >>>>>>>>> time would be better spent integrating Mojarra instead of improving >>>>>>>>> MyFaces. >>>>>>>>> >>>>>>>>> However, with JBoss AS6 M4, this is no longer an "either or" >>>>>>>>> proposition. >>>>>>>>> Both MyFaces and Mojarra can live side-by-side. The application >>>>>>>>> can >>>>>>>>> decide >>>>>>>>> which implementation to use: >>>>>>>>> http://community.jboss.org/wiki/JSFonJBossAS6 >>>>>>>>> >>>>>>>>> What's more, changing the default JSF implementation for AS6 is >>>>>>>>> just a >>>>>>>>> matter of changing the defaultJSFConfig property in an XML file. >>>>>>>>> >>>>>>>>> I've talked internally at JBoss about adding MyFaces to the JBoss >>>>>>>>> AS >>>>>>>>> community distribution. Some were for it, and some were very, very >>>>>>>>> for >>>>>>>>> it. >>>>>>>>> Nobody so far is against it. >>>>>>>>> >>>>>>>>> The good part is that I don't think it's a lot of work. It's >>>>>>>>> probably >>>>>>>>> just >>>>>>>>> three or four classes that implement SPI's that I'm guessing >>>>>>>>> MyFaces >>>>>>>>> already >>>>>>>>> has. >>>>>>>>> >>>>>>>>> So this is where the MyFaces Dev group comes in. MyFaces Core 2.0 >>>>>>>>> will >>>>>>>>> run >>>>>>>>> OK on JBoss AS6 right now. However, there is some integration work >>>>>>>>> that >>>>>>>>> is >>>>>>>>> needed for full JEE5 and JEE6 compliance. We need: >>>>>>>>> * An injection provider SPI similar to Mojarra's >>>>>>>>> com.sun.faces.spi.InjectionProvider. >>>>>>>>> * The JBoss/MyFaces implementation of the SPI. I expect this will >>>>>>>>> be >>>>>>>>> very >>>>>>>>> similar to >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> org.jboss.web.jsf.integration.injection.JBossDelegatingInjectionProvider. >>>>>>>>> * An AnnotationProvider SPI similar to Mojarra's >>>>>>>>> com.sun.faces.spi.AnnotationProvider. >>>>>>>>> * A JBoss/MyFaces implementation of the SPI similar to >>>>>>>>> org.jboss.web.jsf.integration.config.JBossAnnotationProvider. >>>>>>>>> * A ServletContextListener class to call for initialization. I >>>>>>>>> expect >>>>>>>>> this >>>>>>>>> will extend from MyFacesServletContextListener and be very similar >>>>>>>>> to >>>>>>>>> >>>>>>>>> org.jboss.web.jsf.integration.config.JBossMojarra20ConfigureListener. >>>>>>>>> >>>>>>>>> If MyFaces Dev decides to take this on, then the code will probably >>>>>>>>> live >>>>>>>>> at >>>>>>>>> Apache and I'll bring it into JBoss AS using Maven. I don't have >>>>>>>>> time >>>>>>>>> to >>>>>>>>> write and maintain the code myself but I'm happy to help out with >>>>>>>>> guidance >>>>>>>>> and to do some refactoring of my code to make this easier. BTW, >>>>>>>>> the >>>>>>>>> JBoss/Mojarra integration code lives here: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> http://anonsvn.jboss.org/repos/jbossas/projects/jboss-jsf-int/trunk/jboss-faces/ >>>>>>>>> >>>>>>>>> Lastly, let me say that I can't make hard promises right now. I >>>>>>>>> don't >>>>>>>>> know >>>>>>>>> if someone at JBoss/RedHat will come along and nix the idea. >>>>>>>>> However, >>>>>>>>> even >>>>>>>>> if we can't ship MyFaces you will have all the integration points >>>>>>>>> ready >>>>>>>>> and >>>>>>>>> have an easy way to "drop in" MyFaces whenever you want to use it >>>>>>>>> with >>>>>>>>> JBoss >>>>>>>>> AS. >>>>>>>>> >>>>>>>>> WDYT?? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Matthias Wessendorf >>>>>>>> >>>>>>>> blog: http://matthiaswessendorf.wordpress.com/ >>>>>>>> sessions: http://www.slideshare.net/mwessendorf >>>>>>>> twitter: http://twitter.com/mwessendorf >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Matthias Wessendorf >>>>>> >>>>>> blog: http://matthiaswessendorf.wordpress.com/ >>>>>> sessions: http://www.slideshare.net/mwessendorf >>>>>> twitter: http://twitter.com/mwessendorf >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Matthias Wessendorf >>>> >>>> blog: http://matthiaswessendorf.wordpress.com/ >>>> sessions: http://www.slideshare.net/mwessendorf >>>> twitter: http://twitter.com/mwessendorf >>>> >>>> >>> >>> >>> -- >>> Matthias Wessendorf >>> >>> blog: http://matthiaswessendorf.wordpress.com/ >>> sessions: http://www.slideshare.net/mwessendorf >>> twitter: http://twitter.com/mwessendorf >>> >> >> >> > > > > >