ActiveMQ не работает через 40 минут - PullRequest
0 голосов
/ 14 апреля 2020

У меня установлен брокер ActiveMQ версии 5.15 на Windows Server 2016 (64-разрядная версия). Это работает в течение года. Внезапно 8 апреля это начало терпеть неудачу. У меня есть две клиентские программы на одном сервере, которые общаются с брокером. Они выдавали ошибку:

Wire format negotiation timeout: peer did not send his wire format.

Я полагаю, что после того, как это произойдет некоторое время, я получаю:

Channel was inactive for too long.

На одноранговых машинах подключаются 9 или 10 брокеров server.

Насколько я знаю, ничего не изменилось на сервере, в конфигурации ActiveMQ или программах. Если я перезапускаю службу ActiveMQ, она работает около 40 минут. Перезагрузка имела тот же эффект. activemq.log содержит множество таких сообщений:

java.lang.OutOfMemoryError: unable to create new native thread

Однако они кажутся нормальными.

Непосредственно перед тем, как начались сообщения об ошибках клиента, я видел около 12 таких сообщений в файл журнала:

2020-04-14 11:59:27,755 | ERROR | Could not accept connection  : {} | org.apache.activemq.broker.TransportConnector | ActiveMQ Transport Server Thread Handler: tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600
java.lang.Exception: java.lang.OutOfMemoryError: unable to create new native thread
    at org.apache.activemq.transport.tcp.TcpTransportServer$1.run(TcpTransportServer.java:500)[activemq-client-5.15.6.jar:5.15.6]
    at java.lang.Thread.run(Unknown Source)[:1.8.0_191]

Любая помощь будет принята с благодарностью!

...