[jsr-314-open] annotation scanning (was Re: Meeting minutes from EG face-to-face at Sun's SF office post-JavaOne)
Pete Muir
pmuir at REDHAT.COM
Thu Jun 11 17:11:17 EDT 2009
On 11 Jun 2009, at 21:48, Dan Allen wrote:
> On Thu, Jun 11, 2009 at 4:21 PM, Pete Muir <pmuir at redhat.com> wrote:
> As I understand it, the problem here (especially with the Servlet
> spec) is that there is no limiting which jars can contain
> annotations, so every class must be checked. There are various
> optimizations you can do (the obvious one is to exclude all known
> library jars which don't contain annotations). NB this isn't such a
> problem with 299 as it carefully limits which jars need to be scanned.
>
> Exactly. The very definition of a scan is widely divergent. Seam
> (and Web Beans) have taken the approach of looking for a marker file
> using getResources() and scanning the associated classpaths. I
> brought up this style in the meeting.
>
> The approach by JSF is to look in WEB-INF/classes and in each JAR
> file in WEB-INF/lib. This is problematic if you happen to have an
> external classpath. One case is when you run Jetty from Maven. A
> more common case is when you have another EE module, such as an EJB-
> JAR.
>
> The Servlet spec seems to be suggesting that every classpath visible
> to the application is going to be scanned, which is terribly
> reckless in my opinion (I'm sure others).
>
> So we need consistency in what is scanned, and then need a way to
> leverage a container-provided scanning mechanism, if available
> (obviously in a standalone environment you have to bring your own
> scanner).
This was proposed at one point for EE6, but has vanished into the mire
somewhere ;-)
Definitely one for EE7 I think. I've cc'd Jason Greene, the Red Hat
rep on the EE EG so he is aware that of this point.
More information about the jsr-314-open-mirror
mailing list