[ https://issues.apache.org/activemq/browse/AMQ-2771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60025#action_60025 ]
Gary Tully commented on AMQ-2771: --------------------------------- on the setUseLocalHost, that can be set from the uri via a parameter, it will be set via introspection/reflection {code}tcp://hostname:54663?useLocalHost=true{code} > Side effect from AMQ-2094, server listens on host name address, client > connects to localhost with the same URI > -------------------------------------------------------------------------------------------------------------- > > Key: AMQ-2771 > URL: https://issues.apache.org/activemq/browse/AMQ-2771 > Project: ActiveMQ > Issue Type: Wish > Affects Versions: 5.3.0, 5.3.1, 5.3.2 > Reporter: Przemek Bruski > Attachments: BrokerServiceResolveHostTest.java > > > TcpTransport.java contains the following code: > {code} > protected String resolveHostName(String host) throws UnknownHostException > { > String localName = InetAddress.getLocalHost().getHostName(); > if (localName != null && isUseLocalHost()) { > if (localName.equals(host)) { > return "localhost"; > } > } > return host; > } > {code} > TcpTransportServer.java contains the following code: > {code} > InetAddress addr = InetAddress.getByName(host); > try { > this.serverSocket = > serverSocketFactory.createServerSocket(bind.getPort(), backlog, addr); > {code} > /etc/hosts looks like this: > {code} > 127.0.0.1 localhost.localdomain localhost > someip myhostname.mydomain myhostname > {code} > Now, if I start server with uri: myhostname.mydomain, the server will listen > on someip but the client started on the same host with the same uri will try > connect to localhost (and fail). > I know that useLocalHost can be used to avoid it, but silently connecting to > localhost is counterintuitive and does not sound like a valid default > behaviour (according to documentation, using localhost instead of the host > name is a workaround, the workaround is now effectively default behaviour and > breaks valid setups that used to work with 5.2). > This worked fine on 5.2, since the server bound to all interfaces - but > fixing this was obviously the right thing to do. > Questions: > 1. Can the default behaviour be changed to one that would work on majority of > systems? > 2. Is the workaround really needed? Maybe it's the local network settings > that should be corrected? > 3. The debug messages are misleading and probably should be changed: > [ActiveMQ Task] [FailoverTransport:604] urlList > connectionList:[tcp://hostname:54663?wireFormat.maxInactivityDuration=300000] > [ActiveMQ Task] [FailoverTransport:723] Attempting connect to: > tcp://hostname:54663?wireFormat.maxInactivityDuration=300000 > [ActiveMQ Task] [FailoverTransport:764] Connect fail to: > tcp://hostname:54663?wireFormat.maxInactivityDuration=300000, reason: > java.net.ConnectException: Connection refused > In fact, it was the connection to localhost:54663 that was refused. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.