ActiveMQ在40分钟后失败

问题描述 投票:0回答:1

我有一个ActiveMQ 5.15版本的broker(命名为31969broker)安装在Windows Server 2016(64位)上。 它已经工作了一年了。有8台对等机上的8个broker连接到这个服务器。当其中一台对等机宕机时,这个服务器上的ActiveMQ broker就会失效。 每个对等机都有一个静态的双工连接到这台机器上。它(31969broker)有8个类似的连接,每个对等机都有一个。 传输连接器是openwire的。

我做了一个实验,对等体MUSVRSLDSP1是离线的,而且流量很少。我重新启动了ActiveMQ服务。39分钟后(和许多像下面这样的警告),它抛出了一个异常。'wrapper.log'有。

INFO   | jvm 1    | 2020/05/20 15:22:14 |  WARN | Could not start network bridge between: vm://31969broker and: tcp://MUSVRSLDSP1:61616 due to: MUSVRSLDSP1
INFO   | jvm 1    | 2020/05/20 15:22:22 |  INFO | Establishing network connection from vm://31969broker to tcp://MUSVRSLDSP1:61616
INFO   | jvm 1    | 2020/05/20 15:22:22 | Exception in thread "ActiveMQ BrokerService[31969broker] Task-6041" java.lang.OutOfMemoryError: unable to create new native thread
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at java.lang.Thread.start0(Native Method)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at java.lang.Thread.start(Unknown Source)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.thread.DedicatedTaskRunner.<init>(DedicatedTaskRunner.java:51)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.thread.TaskRunnerFactory.createTaskRunner(TaskRunnerFactory.java:159)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.transport.vm.VMTransport.getTaskRunner(VMTransport.java:328)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.transport.vm.VMTransport.wakeup(VMTransport.java:249)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.transport.vm.VMTransport.start(VMTransport.java:192)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:64)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:64)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:1066)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at org.apache.activemq.broker.TransportConnector$1$1.run(TransportConnector.java:218)
INFO   | jvm 1    | 2020/05/20 15:22:22 |   at java.lang.Thread.run(Unknown Source)

要想让这个错误消失,我所要做的就是移除与违规对等体(MUSVRSLDSP1)的网络连接。 但我不能让一台机器的故障导致整个消息系统瘫痪,而这正是发生的事情。如果内存不足的错误是罪魁祸首,我如何才能消除它?

任何帮助都将是非常感激的

activemq
1个回答
0
投票

这里的解决方法是在wrapper.conf文件中把以下设置为false。

wrapper.java.additional.8=-Dorg.apache.activemq.UseDedicatedTaskRunner=false。

希望能帮到别人。

© www.soinside.com 2019 - 2024. All rights reserved.