All of this already exists. ;-)
* You should have a AnnotationScanner deployer that scans jars for
annotations and puts an annotation database somewhere in memory that
other deployers can reference. (This might already exist, I don't know).
It is called AnnotationEnvironment, and it's part of the deployment's
attachments.
It's already used to help Metadata get annotation info.
But how it's done in Metadata is bad/wrong.
* If a file META-INF/no.scan exists in a jar, then don't scan the
file.
This allows libraries to exclude themselves from scanning.
* If a file META-INF/scan.only exists it will contain a newline
delimited list of class names to scan. Only scan those class names.
This is called jboss-scanning.xml.
-
http://www.jboss.org/community/wiki/JBoss5custommetadatafiles
We already exclude all of our boot.
See metadata-deployer-jboss-beans.xml:
-
http://anonsvn.jboss.org/repos/jbossas/branches/Branch_5_x/server/src/etc...