У меня установлен брокер 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]
Любая помощь будет принята с благодарностью!