【问题标题】:ActiveMQ SocketExceptionActiveMQ 套接字异常
【发布时间】:2011-08-14 15:48:21
【问题描述】:

我每两个月左右就会遇到一个问题。我的 activemq 服务器死了,日志充满了 SocketExceptions。

我有一个 PHP 应用程序使用 stomp 将消息发送到 ActiveMQ 和 使用消息的 Java 应用程序。

我在另一台服务器上有activemq,在发送/消费消息时只使用java应用程序,它从来没有像这样失败过。我觉得有什么 跺脚错了。

stomp 代码非常基本,不会发送任何奇怪的东西。仅设置了消息属性的消息。 stomp 代码在每条消息发送后关闭连接。

我查看了 lsof 并没有任何异常。

netstat 确实有很多:

tcp6 0 0 127.0.0.1:61616 127.0.0.1:46280 CLOSE_WAIT

ActiveMQ 日志显示了很多

2011-04-28 12:43:09,819 |错误 | 无法接受连接: java.net.SocketException:太多 打开文件 | org.apache.activemq.broker.TransportConnector | ActiveMQ 传输服务器: tcp://0.0.0.0:61616

我正在使用:

ActiveMQ 5.4.2, 雄猫 6.0.20, Debian 5.0.3, PHP 5.2.6, Stomp 修订版 43

【问题讨论】:

    标签: spring tomcat6 activemq stomp


    【解决方案1】:

    您似乎在您的 java 程序中打开了很多连接,然后您点击了 ulimit -n。使用后关闭连接或使用连接池。

    作为一种解决方法,您可以通过 sysctl 提高打开文件的限制,请参阅 tutorial here

    【讨论】:

    • java 应用程序即将被替换,所以我现在将使用您的 ulimit 解决方案。
    • 你用什么编程语言代替java?是不是因为排队,最后要更换java?
    猜你喜欢
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多