0

To allow the ActiveMQ client and broker to tunnel over HTTP, I'm following the reference documentation http-and-https-transports-reference and I add in activemq.xml file:

<transportConnector name="http" uri="http://0.0.0.0:8081"/>

Starting activemq broker, and when consuming message, the error log is as follows:

Caused by: java.io.IOException: Failed to perform GET on: http://10.128.64.2:8081 Reason: Read timed out
        at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:34) ~[activemq-client-5.14.5.jar!/:5.14.5]
        ... 2 more
Caused by: java.net.SocketTimeoutException: Read timed out

Any help

Thanks

Gryu
  • 2,102
  • 2
  • 16
  • 29
  • Not really enough info to deduce cause, do some debugging, gather some logs, snoope on the wire and see what's going on. – Tim Bish Feb 07 '20 at 18:44

1 Answers1

0

In the meantime I found the cause for the problem. A default socket timeout of 30 secods for the HTTP client was introduced with the following ticket: https://issues.apache.org/jira/browse/AMQ-6397

This timeout somewhow seems to conflict with the keep alive requests that stays open for arround 30 seconds. I increased the default timeout to 90 seconds and this seems to resolve the problem (see attached version of HttpClientTransport.java).

source: https://jira.apache.org/jira/browse/AMQ-6949