我每两个月左右就遇到一个问题。我的activemq服务器死亡,并且日志充满了SocketExceptions。ActiveMQ SocketException
我有一个PHP应用程序使用stomp向ActiveMQ发送消息,并使用一个Java应用程序来使用消息。
我有另一台服务器上的activemq,其中只有Java应用程序在发送/使用消息时使用,并且从未像这样失败。我认为有一些 Stomp错了。
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, 的Tomcat 6.0.20, 的Debian 5.0.3, PHP 5.2.6, Stomp修订版43
Java应用程序即将被替换,因此我现在将使用ulimit解决方案。 – heldt 2011-04-28 12:47:31
你用什么编程语言取代java? 是否因为排队而最终想要替换java? – Nicolas 2013-07-15 09:15:06