Summary thus far:

1. Coin a well-defined set of context lifecycle events to go in Weld Extensions
    @Application @Initialized Event (and perhaps one per scope annotation?)
2. Use observers based on these events to get startup behavior rather than @Startup components
    @Observes @Application @Initialized E (what's the event type?)
3. Implement event firing in appropriate Seam module (as it has hooks to the boundaries)
    Servlet module already has these hooks in place, just leverage them
4. Provide a @ClusterScoped annotation & context impl somewhere in Seam 3 (which module?)

-Dan

--
Dan Allen
Principal Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597

http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen