On Wed, Jul 27, 2011 at 4:25 AM, Jakob Korherr <jakob.korh...@gmail.com> wrote: > Hi Mark, Simone, > > I would prefer a way in which the classscan-clients can tell the > classscan-server in what they are interested in via an API like Mark > proposed (e.g. subscribe()) before the scanning of a specific artifact > (e.g. jar) starts. I guess this could be kinda like the > ProcessAnnotatedType API in CDI. For example, the classscan-server > discovers a jar, then asks all its clients if the jar should be > scanned (--> clients can perform checks for beans.xml or > faces-config.xml) and if at least one client says yes, it will be > scanned. Then the classscan-server knows exactly which > jars/wars/packages/... need to be scanned and which don't (thus > improving performance). Then while scanning, the classscan-server > calls the specific callback methods only on the subscribed > classscan-clients. > > Regards, > Jakob
Hi, Jakob-- I know that retaining the ability to select particular classpath elements (or in xbean-finder terms, Archives) for scanning by a particular client is one of Mark's top priorities, so this is definitely on the table. Maybe we should start a page in the Commons wiki to enumerate all the desired features and hopefully a comfortable set of APIs will start to gel. Matt > > 2011/7/27 Simone Tripodi <simonetrip...@apache.org>: >> Hi Mark!!! >> after had a (quick, honestly) look at your APIs I'm more convinced we >> can merge our efforts to provide our users a kickass library to scan >> the classpath. >> >> Your ScanJob class could be configured with my Meiyo EDSL filters[1] >> instead of passing parameters to the constructor, allowing users >> expressing more complex ScanJob settings, like excluding/including >> classes under specific packages annotated whit specific annotations >> that implement interface X etc etc etc >> I have the feel that while you focused on performances, I was more >> focused on end users APIs, it would be a shame if we do not >> cooperate!!! >> >> WDYT? Hope there will be the chance to release yet another great >> commons tool soon!!! >> All the best, >> Simo >> >> [1] http://s.apache.org/Vsb >> >> http://people.apache.org/~simonetripodi/ >> http://www.99soft.org/ >> >> >> >> On Tue, Jul 26, 2011 at 11:19 PM, Mark Struberg <strub...@yahoo.de> wrote: >>> Hi folks! >>> >>> We need a few idea and brainstorming on the filter/selection mechanism for >>> our new classscan-api (yes, 3 's' in classscan). >>> >>> There are some specs which require some marker files to actually enable the >>> class scanning. E.g. the JSR-299 CDI spec defines that only jars with >>> META-INF/beans.xml get scanned. For JSR-314 (JSF2) you need to have a >>> META-INF/faces-config.xml marker file present. >>> Other frameworks don't have such a restriction, but most do. >>> >>> There are 2 ways to handle this: >>> 1.) each classscan-client tells the classscan-server the list of marker >>> files it needs. >>> 2.) The classscan-client registers a Filter callback (similar to Simos >>> mechanism) and the classcan-server calls a 'scanningJarStarted(...)' and >>> scanningJarEnded (bet we find some better name which also would fit in OSGi >>> environments) and the Filter can call some veto() or subscribe() to the >>> classscan-server. >>> >>> We also need some way to include + exclude packages from the scanning. Any >>> idea on the API is welcome. The current ScanJob class (see my github [1]) >>> which was supposed to be an upfront information doesn't work out in the end >>> I fear. But maybe it's a starting point for our discussion. >>> >>> >>> txs and LieGrue, >>> strub >>> >>> [1] >>> https://github.com/struberg/Apache-commons-classscanner/blob/b45c1b6080e91f6e36f7b7a39aa1b2c4d7bde1e0/classscan-api/src/main/java/org/apache/commons/classscan/api/ScanJob.java >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >>> For additional commands, e-mail: dev-h...@commons.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> > > > > -- > Jakob Korherr > > blog: http://www.jakobk.com > twitter: http://twitter.com/jakobkorherr > work: http://www.irian.at > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org