HTTP-разъем Activemq 5.14.5 Тайм-аут чтения - PullRequest
0 голосов
/ 07 февраля 2020

Чтобы разрешить клиенту и брокеру ActiveMQ туннелировать по HTTP, я следую справочной документации http-and-https-transports-reference и добавляю в activemq.xml файл:

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

При запуске брокера activemq и при использовании сообщения журнал ошибок выглядит следующим образом:

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

Любая помощь

Спасибо

1 Ответ

0 голосов
/ 25 февраля 2020

Тем временем я нашел причину проблемы. Время ожидания сокета по умолчанию в 30 секунд для HTTP-клиента было введено со следующим билетом: https://issues.apache.org/jira/browse/AMQ-6397

Этот тайм-аут каким-то образом конфликтует с запросами поддержки активности, которые остаются открытыми в течение 30 секунд. Я увеличил время ожидания по умолчанию до 90 секунд, и это, похоже, решило проблему (см. Прилагаемую версию HttpClientTransport. java).

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

...