Additional note that the ultimate goal of the scan.xml file is to provide 
something that could be standardized.  There is interest for having a more 
general solution.

This probably affects the scan.xml file itself, the plugin could live anywhere 
(I'd imagined we'd eventually put it in xbean).

Ideally a standard file would be:

 - in META-INF/scan.xml
 - list classes and packages
 - something a user can create by hand

Anything that adds xbean/openejb/tomee branding, is not xml, or contains 
plugin-specific information would have to be removed from any proposals to Java 
EE 7.

Some things to keep in mind as we discuss.


-David

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
> 

Reply via email to