Konstantin,
On 12/31/15 12:56 PM, Konstantin Kolinko wrote:
> 2015-12-31 12:41 GMT+03:00 Tomasz Macnar <[email protected]>:
>> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]