I don't understand why you have to do this in an @Startup component. Why not just do it lazily when the component is first needed?
The application initialization process takes quite a while. For our demo project, it would take a long time to process the first operation if we don't put those code in @Startup class. This is generally acceptable but not very nice in some situations(hard to explain here). Anyway, it's not gonna be a big problem. I am just a little curious to know if there's a standard way.
Well, the other option is to get your resource bundle the oldfashioned way, just like the built-in Seam resourceBundle component does it. Not sure why you wanted to go via JSF.
AFAIK, JSF has no "startup" event, so that is why we are using a servlet context listener to do initialization shuff.
Thanks Gavin. I guess I'll do it the old fashioned way then.