Konstantin, On 12/31/15 12:56 PM, Konstantin Kolinko wrote: > 2015-12-31 12:41 GMT+03:00 Tomasz Macnar <tomasz.mac...@comarch.pl>: >> Thanks for answer. >> I understand that application deploy order is the key to get context to >> deployed applicaitons (when application isn't deployed i can't get it >> context - it is clear). >> But ROOT application is deployed before app1, but i can't get ROOT context >> from app1. >> Is it in tomcat 8 possible to get ROOT context from other >> application (in servlet) ? If yes, coud tou give me an simple example ? >> >> In tomcat 6 when i put this configuration to server.xml >> >> <Context path="" docBase="${catalina.base}/webapps/ROOT" crossContext="true" >> /> >> >> i have returned ROOT application context. The same code work fine in tomcat >> 6. >> > > Deployment order does not matter. What matters is whether other > context has already been started (registered in Mapper and is > available to serve requests). As you have already noted during your > debugging, "children" field in ContainerBase is a HashMap and the > entries are not ordered. > > Note that > 1) modern JRE uses random seed when evaluating String hash code to > mitigate hash collision attacks, so the order will be different on > different runs
[citation needed] Oracle's Java 8 does not do this, nor do I suspect any other JREs out there, otherwise Serialization of things like HashMap would break all over the place. One could argue that modern JREs *should* do this, but backward compatibility is an impediment. -chris > 2) In Tomcat 7 and later a container starts all its children in > parallel, using an executor configured with "startStopThreads" > property., > > 3) The Servlet API getContext(path) is tricky as it uses prefix matching. > Asking for getContext("/app/foo") can return context for "/app/foo", > or context for "/app", or the ROOT context. > Discussed here: > http://markmail.org/thread/wwfgnc6qwgaenwol > https://bz.apache.org/bugzilla/show_bug.cgi?id=57645 > > Best regards, > Konstantin Kolinko > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org