I use a different approach: Have seam-dev.properties, seam-prod.properties (etc.) and use my and script to copy the correct one to WEB-INF/classes/seam.properties when I do
ant war- in fact, I think seam-gen should probably do this.
Ok, perhaps I have to be more precise. The configuration properties I'm talking about do not belong to the seam configuration of components. I'm talking about application specific parameters controlling for examples the behaviour of business logic.
Example: A booking application stores all canceled booking requests in an archive. Requests older than a given number of days will be delete. So you want to configure the amout of days different for your development, test and production enviroment. And of cause the system administrator should be able to change the value while the system is running.
So it's not a good idea to store this kind of information to a configuration file inside your container. Otherwise you have to redeploy the application just for changing a value. On the other hand, this parameter is not changed often enough to justify storage in database with admin gui.
I would argue that an application scoped seam component, with defaults set in seam.properties, and a quick crud, would be ideal for this. Certainly quick to develop - but changes would be lost between redeploys I guess.