So if I have a webapp for an admin UI for a Spring MDP service. Spring MDB service in turn wires 7 other services (Spring beans) to process messages. I like the "hints" in the docs that each of these components can be deployed and managed independently - esp. as these service components are 100% stateless.

1) What is Best Practice(BP) for deploying - Par? Use Repo for all services bundled & deployed independently?

2) Assuming I want this automated (like by Maven scripting), I would just copy all of the above to the repo dirs? And then what is BP for property files? Eg. each one of those services needs 1 or more property files for each of dev/stage/prod? There are several known paths for handling property files for different envs in WebSphere (our current), what is the S2App Best Practice way?

3) When upgrading a service , I like that OSGI permits upgrades without a restart. How does war upgrading work - eg. deploy version 1.0 originally, i just copy it in to pickup / repo. Now I have 1.01 or 2.0 - how do I deploy (uninstall other services before or after); and after it has started, start forwarding all http requests with the given web context to the new server?

To get tricky - do the same thing (upgrade service version) for Spring Mdps, listening on a given Q ; let requests in progress complete, then the "deactiveate" (stop JMS Listener) ; with all new requests going to 1.0.1