the existing user connections should not be broken
That is currently not possible. When you "update" your app, the old version is undeployed, breaking all existing user connections, and the new app is deployed.
Also, if you plan to redeploy often, make sure you monitor the perm gen usage. Unfortunately, sometimes all of the classes for the old version of the app are not released when the app is redeployed, thus causing the permgen to grom in size. Once it gets near the maximum size
you should do a reboot to clear it out.
You might want to monitor the app's usage and determine when it is quietest and do your redeploy/reboot at that time, thus impacting the least number of users.