[
https://issues.apache.org/activemq/browse/SM-733?page=comments#action_37337 ]
Chad Sturtz commented on SM-733:
I dug a little deeper and came up with more information. In addition to the
scenarios stated above, i've tested the following:
4) SA1 deployed with http endpoint using "10.9.5.29:8192", SA2 deployed using
http endpoint with "B-1234:8192" where B-1234 and 10.9.5.29 are the same
machine -- deploy failed
5) SA1 deployed with http endpoint using "0.0.0.0:8192", SA2 deployed using
http endpoint with "B-1234:8192" --- deploy success
I've looked at the code (JettyContextManager.java). What's happening is the
created Servers are stored in a Map. Upon looking at a new endpoint, it
creates a key based on the location URL. If there's no Server in the Map with
that key, it creates a new one. If you look at the method that creates the key
based on the location URL (method is: getKey(URL url)), it either uses the host
as is from the URL, or it uses the hostname if a wild-card host was used in the
URL (0.0.0.0).
I would say that the same key should be created for any host resolving to the
local machine. However, I don't know how that would affect scenarios where one
machine has multiple ip addresses. I've not worked in such an environment and
don't know if that's an acceptable solution.
> Using "0.0.0.0" in http endpoint clashes with other http endpoints using the
> hostname or ip address of the machine, unless port is different
>
>
> Key: SM-733
> URL: https://issues.apache.org/activemq/browse/SM-733
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-http
>Affects Versions: 3.0, 3.1
>Reporter: Chad Sturtz
>Priority: Minor
>
> Three tested scenarios:
> 1) SA1 deployed with http endpoint using "0.0.0.0:8192", SA2 deployed using
> http endpoint with "10.9.5.29:8192" -- deploy fails (address already in use)
> 2) SA1 deployed with http endpoint using "0.0.0.0:8192", SA2 deployed using
> http endpoint with "0.0.0.0:8192" --- deploy success
> 3) SA1 deployed with http endpoint using "0.0.0.0:8192", SA2 deployed using
> http endpoint with "10.9.5.29:8193" --- deploy success
> Basically, ALL SUs must use 0.0.0.0 in their SUs or make sure they're using
> different ports.
> For someone developing SUs/SAs that will be deployed in an environment with
> SUs/SAs developed by others, this creates an item that must be coordinated
> between everyone creating SUs/SAs to be deployed in the common environment.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira