I think that it would be nicer to have a simple file that all manner of tooling can read, e.g. python.
With that said, the XML file format seems simple enough and I doubt that any large jar would pose a problem memory or CPU wise. JMHO. Regards, Alan On Feb 20, 2012, at 4:49 PM, Mohammad Nour El-Din wrote: > I have one concern, still by having an XML generated and we still like > reading only information about such classes and the overhead of reading XML > in memory in case we have a large one(s). > > Why not generate a code out of that which is compiled with the jar or even > added to the an existing jar which will be much faster and this code can be > based on templates which developers can extend, change or customize. > > Thoughts ? > > On Tue, Feb 21, 2012 at 1:46 AM, Mohammad Nour El-Din < > nour.moham...@gmail.com> wrote: > >> >> >> On Tue, Feb 21, 2012 at 12:32 AM, Alan D. Cabrera >> <l...@toolazydogs.com>wrote: >> >>> Neat idea. >>> >>> I would include the configuration information in the scan.xml so that >>> tooling would know the criteria used in the scan and decide whether or not >>> to scan for other annotations or inplementations. >>> >>> I would also put the scan.xml file in some package specific place like >>> META-INF/org/apache/xbean/scan.xml. >>> >> >> +1 on the idea and the additions on Alan >> >> >>> >>> >>> Regards, >>> Alan >>> >>> >>> On Feb 20, 2012, at 2:40 PM, David Blevins wrote: >>> >>>> We've chatted occasionally on creating a scanning.xml file where people >>> could setup includes and excludes and, overall, optimize classpath scanning. >>>> >>>> Romain is already busy hacking of course :) Here's the idea for a >>> plugin to effectively do the most expensive part of scanning in advance: >>>> >>>> <plugin> >>>> <groupId>org.apache.xbean</groupId> >>>> <artifactId>maven-xbean-finder-plugin</artifactId> >>>> <configuration> >>>> <annotations> >>>> <annotation>javax.ejb.Stateless</annotation> >>>> <annotation>javax.ejb.Stateful</annotation> >>>> <annotation>javax.ejb.Singleton</annotation> >>>> <annotation>javax.annotation.ManagedBean</annotation> >>>> </annotations> >>>> <subclasses> >>>> <subclass>javax.ws.rs.core.Application</subclass> >>>> </subclasses> >>>> <implementations> >>>> >>> <implementation>org.apache.openejb.server.ServerService</implementation> >>>> </implementations> >>>> </configuration> >>>> </plugin> >>>> >>>> With a configuration like the above, the plugin would scan the jar for >>> subclasses of javax.ws.rs.core.Application, classes annotated with >>> @Stateless, @Singleton, @Stateful and classes that implement ServiceService. >>>> >>>> The result would be a META-INF/scan.xml class that looks like so: >>>> >>>> <scan> >>>> <classes> >>>> <class>org.superbiz.Foo</class> >>>> <class>org.superbiz.Bar</class> >>>> <class>org.superbiz.Baz</class> >>>> </classes> >>>> </scan> >>>> >>>> And on the TODO list would be future support for <packages> >>>> >>>> <scan> >>>> <packages> >>>> <package>org.superbiz.foo</package> >>>> <package>org.superbiz.bar</package> >>>> </packages> >>>> </scan> >>>> >>>> With the above you could easily create scan.xml file by hand that would >>> at least be far faster than scanning an entire jar. >>>> >>>> >>>> Thoughts? >>>> >>>> >>>> -David >>>> >>> >>> >> >> >> -- >> Thanks >> - Mohammad Nour >> ---- >> "Life is like riding a bicycle. To keep your balance you must keep moving" >> - Albert Einstein >> >> > > > -- > Thanks > - Mohammad Nour > ---- > "Life is like riding a bicycle. To keep your balance you must keep moving" > - Albert Einstein