Buenas,
Cita: He leído que es mediante variables sesión ¿Como se ponen?¿Se puede poner en la URL del cliente?¿Cual debería poner?
No. Lo que has leido es esto:
Cita: Parallel deployment
You may deploy multiple versions of a web application with the same context path at the same time. The rules used to match requests to a context version are as follows:
If no session information is present in the request, use the latest version.
If session information is present in the request, check the session manager of each version for a matching session and if one is found, use that version.
If session information is present in the request but no matching session can be found, use the latest version.
The Host may be configured (via the undeployOldVersions) to remove old versions deployed in this way once they are no longer in use.
Con el objeto de facilitar la actualizacion de las aplicaciones, Tomcat permite tener varios war que apunten al mismo context path pero con diferente version. El objetivo es que la aplicacion no deje de funcionar en ningun momento y se pueda actualizar en caliente y de forma transparente para los usuarios.
Por tanto, si tenemos una aplicacion /myApp v1 y le aniadimor una v2.
-Todas las sesiones ya existentes e iniciadas en la v1, seguiran utilizando la v1 hasta que sean destruidas.
-Todas las nuevas sesiones se iniciaran sobre la v2.
-Si tenemos el parametro
undeployOldVersions establecido a true, en el momento en que no quede ninguna sesion corriendo sobre la v1, el war de la v1 sera automaticamente eliminado.
En cuanto a la pregunta sobre si es posible acceder a una version especifica sin reiniciar, en teoria (no lo he probado nunca) podrias acceder mediante el context path
/myWebService##2
En cualquier caso, si lo que quieres es tener dos versiones del web service que convivan, no deberias utilizar las versiones por contexto. Lo que debes hacer (y lo que hacemos todo el mundo) es mantener dos context path diferentes. Por ejemplo
/myWebServiceV1 y
/myWebServiceV2.
Un saludo