2か月に1回程度、問題が発生しています。ActiveMQ サーバーが停止し、ログが SocketExceptions でいっぱいです。
ストンプを使用して ActiveMQ にメッセージを送信する PHP アプリケーションと、メッセージを消費する Java アプリケーションがあります。
メッセージの送信/消費時にJavaアプリケーションのみが使用される別のサーバーにactivemqがあり、このように失敗したことはありません。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