[ 
https://issues.apache.org/activemq/browse/AMQ-2776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan updated AMQ-2776:
----------------------

    Attachment: activemq-2776.patch

I try to investigate the problem a bit. Before TCPTransport tries to connect 
the remote server, it would first call the resolveHost method to check whether 
the target remote host is the local machine, also it will check a boolean tag 
useLocalHost. From the comments in the codes, it said in Mac, there is a 
problem while trying to connect the local machine with its hostname. But, I am 
not sure whether it is a good choice in other platforms, usually the hostname 
is corresponding to the actual IP. Since the user configures the target server 
with hostname, it means that the actual IP is expected to connect to, because 
the server is only binding to actual IP, not the localhost (127.0.0.1) 
interface. 
I attached a patch, it just initialize the useLocalHost depending on the OS 
platform.

> Connection refused when using shortname in activemqurl
> ------------------------------------------------------
>
>                 Key: AMQ-2776
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2776
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 5.3.2, 5.4.0
>         Environment: Suse 10 Sp2
>            Reporter: vioa lu
>             Fix For: 5.4.0
>
>         Attachments: activemq-2776.patch
>
>
> 1. On server suse10sp268, start activemq , then run activemq-admin.bat browse 
> --amqurl tcp://suse10sp268:61616 TEST.FOO , got excecption Caused by: 
> javax.jms.JMSException: Could not connect to broker URL: 
> tcp://suse10sp268:61616. Reason: java.net.ConnectException: Connection 
> refused: connect
> at 
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
> at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:286)
> at 
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:185)
> at 
> org.apache.activemq.ra.ActiveMQConnectionSupport.makeConnection(ActiveMQConnectionSupport.java:79)
> at 
> org.apache.activemq.ra.ActiveMQConnectionSupport.makeConnection(ActiveMQConnectionSupport.java:61)
> at 
> org.apache.activemq.ra.ActiveMQManagedConnectionFactory.createManagedConnection(ActiveMQManagedConnectionFactory.java:169)
> ... 42 more
> Caused by: java.net.ConnectException: Connection refused: connect
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
> at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
> at java.net.Socket.connect(Socket.java:519)
> at 
> org.apache.activemq.transport.tcp.TcpTransport.connect(TcpTransport.java:483)
> at 
> org.apache.activemq.transport.tcp.TcpTransport.doStart(TcpTransport.java:446)
> at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:53)
> at 
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
> at 
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
> at 
> org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:72)
> at 
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
> at 
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
> at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:266)
> This  happened also when got error starting activemq-ra module in geronimo
> https://issues.apache.org/jira/browse/GERONIMO-5371

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to