Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
incubation
-
None
-
Linux, jdk 1.5 sun
-
Patch Available
Description
i am using sm build from 2006/09/12.
I am trying to deploy 2 SUs in sm-http.
the first one has the following path :
locationURI="http://localhost:8192/junit_HttpEndpoint_invokeUtilTester"
the second :
locationURI="http://localhost:8192/junit_HttpEndpoint_invoke"
I get the following exception :
The requested context for path '/junit_HttpEndpoint_invoke' overlaps
with an existing context for path: '/junit_HttpEndpoint_invokeUtilTester'
I had a look at the code in
org.apache.servicemix.http.jetty.JettyContextManager at line 138 (the
method where is thrown the exception) and I found very strange the
following test :
if (h.getContextPath().startsWith(path) ||
path.startsWith(h.getContextPath())) {
throw new Exception("The requested context for path '" + path + "'
overlaps with an existing context for path: '" + h.getContextPath() + "'");
}
h is a handler which represents an already deployed path
(/junit_HttpEndpoint_invokeUtilTester).
path is the current path (being deployed = /junit_HttpEndpoint_invoke)
The exception is thrown as the following is true I think :
h.getContextPath().startsWith(path)
I can deploy another su having the following path without any error:
/junit_HttpEndpoint_incrementService
This let me thinking that there could have a matching region but one
could not be completely included in another...
PATCH :
replace
if (h.getContextPath().startsWith(path) ||
path.startsWith(h.getContextPath())) {
by
if (h.getContextPath().equals(path)) {