我每兩個月左右就遇到一個問題。我的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