我得到以下異常時,與web服務加載服務器調用:Oracle WebLogic服務器:java.net.SocketException異常「打開的文件太多」
<2013-nov-19 kl 0:23 CET> <Critical> <Server> <BEA-002616> <Failed to listen on
channel "Default" on 10.39.21.109:28404, failure count: 1, failing for 0 seconds,
java.net.SocketException: Too many open files (errno:24)>
所用的機器是HP-UX。
如果我看看應用程序打開的這些文件(使用lsof),我可以看到有一個web服務連接尚未關閉。
java 19290 xxxx 2102u IPv4 0xe00000038b2df680 0t2534
TCP u30427.xx.yy:63565->u30436.xx.yy:36693 (CLOSE_WAIT)
這些連接隨着時間的推移而增加並達到允許的最大文件數,因此會引發「打開的文件過多」。
奇怪的部分是,如果我使用HTTP(沒有SSL),它工作正常,但是當使用HTTPS/SSL時,我得到這個錯誤。
有沒有人在這裏有任何線索我能做些什麼來解決這個問題?
謝謝!
經過更多的分析,這個案例被清除了,問題是weblogic集羣配置的結果。 「打開文件」正在等待關閉兩個節點之間的羣集通信。請參閱<單播接收錯誤:java.io.EOFException「>請參閱: http://modj.org/home/aktueles/bea-002616-failed-to-listen-on-channel-on-listenaddressport/a7e2db8254aee4603e4ecaf98a43e85e。 HTML –
2014-02-15 14:19:56