geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim McConnell <>
Subject Re: JSR-88 1.2 Proposed Design for Geronimo Annotation Processing
Date Mon, 29 Jan 2007 12:02:23 GMT
Hi Jarek, yes, the intent is for the module builders to get updated 
deployment plan so that Tomcat, Jetty, etc.... will do the resource lookups 
with JNDI just like they do currently. There has been some discussions on 
the devlist (started by Sachin) as to whether we want or should accommodate 
annotations for Geronimo-specific deployment descriptors. I'm not exactly 
sure where it was left off, but I think the agreement was to only 
accommodate the JEE5 annotations (e..g, resource-ref in your example below) 
at least in the 2.0 timeframe. Thanks.

Jarek Gawor wrote:
> Tim,
> A couple of questions on the design/implementation:
> 1) Since the module builders will get an updated deployment
> descriptors, in general, the annotation processors in Tomcat, Jetty,
> Web services, EJB, etc. will just need to lookup the resources in
> JNDI, right?
> 2) One thing I'm unclear of is how we are going to deal with the
> geronimo-*.xml deployment descriptors? For example, if a service wants
> to access the system data source it needs to provide the following
> information (in geronimo-web.xml file):
> <web-app>
>    ....
>       <dependencies>
>            <dependency>
>                <groupId>org.apache.geronimo.configs</groupId>
>                <artifactId>system-database</artifactId>
>            </dependency>
>        </dependencies>
>   ....
>    <resource-ref>
>        <ref-name>jdbc/MyDataSource</ref-name>
>        <resource-link>SystemDatasource</resource-link>
>    </resource-ref>
> </web-app>
> I think the annotation.mappedName can be used for the resource-ref
> info but what about the dependency? Will user still need to provide
> that or Geronimo will attempt to figure it out somehow?
> Thanks,
> Jarek
> On 1/17/07, Tim McConnell <> wrote:
>> Hi, I still think there needs to be a general consensus for the 
>> handling of annotations in Geronimo.
>> So, to better explain this design proposal I've
>> created a few simple UML diagrams that demonstrates how it might work 
>> with one of the Geronimo
>> builders--i.e. Tomcat.
>> Here's the link to the URL diagrams: 
>> -- The first is just a diagram of the pertinent high-level use cases 
>> for JSR-88 1.2
>> -- The second is an interaction diagram of deployment at a very 
>> high-level as it currently works for
>> Tomcat
>> -- The third is the proposed interaction diagram of how deployment 
>> will generally flow with
>> annotations. Namely:
>>          -- Geronimo will find/discover all the annotations in the 
>> artifact being deployed prior to
>> the createModule invocation on the TomcatBuilder
>>          -- Geronimo will then update the deployment descriptor tags 
>> in the XML accordingly and then
>> set the Metadata-Complete tag
>>          -- Finally, during installation of module, Geronimo will 
>> invoke Tomcat's
>> AnnotationProcessor implementation and pass it the array of 
>> annotations that have been discovered,
>> and Tomcat's AnnotationProcessor will handle handle those runtime-type 
>> annotations (e.g.,
>> PreDestory, PostConstruct, etc...) without corresponding deployment 
>> descriptor tags. Note also that
>> Tomcat's AnnotationProcessor handles the resource injection as well.
>> -- The fourth is just a class diagram (not yet complete) that shows 
>> the new Geronimo annotation classes
>> Questions:
>> -- Is this a pattern that can be consistently used for other builders 
>> as well like Jetty, Axis,
>> OpenEJB, Web Services, etc ??
>> -- Is it reasonable to assume that these other components will have 
>> their own AnnotationProcessor
>> implementation (like Tomcat) that can be invoked by Geronimo during 
>> deployment ??
>> -- 
>> Thanks,
>> Tim McConnell

Tim McConnell

View raw message