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

Reply via email to