Es cierto que tomcat no proporciona ninguna forma de hacer cumplir la orden de implementación.
Tomcat despliega webapps en orden siguiente:
Descriptores de contexto 1.Any serán desplegados primero.
2. Las aplicaciones web expulsadas a las que no hace referencia ningún descriptor de contexto se desplegarán. Si tienen un archivo asociado .WAR en el AppBase y es más reciente que la aplicación web explotado, el directorio expandido se retira y la aplicación de web se redistribuirá de los archivos 3.WAR .WAR
serán desplegados
Aquí es una solución propuesta:
Si desea especificar el orden de despliegue a continuación, definir un contexto para su aplicación web en CATALINA_BASE $/conf/[EngineName]/[nombre de host] /MyApp.xml
Tomcat escanea $ CATALINA_BASE/conf/[enginename]/[hostname]/realizando File listFiles() que devuelve una matriz de archivos ordenada por valor hash (dependiente del sistema operativo).
Usted puede utilizar el siguiente código para comprobar en qué orden aplicaciones web serán desplegados
del archivo = new File ("/ opt/tomcat/conf/Catalina/localhost"); Archivo [] files = file.listFiles(); for (Archivo f: archivos) { System.out.println ("Nombre de archivo:" + f.getName()); texto fuerte
¿Se pregunta si se ha encontrado una solución para este problema? –
Si pudiera organizarlo de forma tal que no se realicen solicitudes en WebApp 1 hasta que Tomcat esté completamente actualizado, quizás vuelva a codificar WebApp 2 para cargar de forma perezosa cualquier dependencia que tenga en WebApp 1 previa solicitud. –
Hay una manera hacky. Véase mi respuesta aquí: http://stackoverflow.com/questions/8793891/tomcat-starting-webapps-in-a-specific-order/16976047#16976047 –