[
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.