本文介紹了Java.io.IOException:無法建立環回連接已在使用的java.net.BindException地址:BIND的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我在eclipse控制臺上的Windows7系統上運行了一個長時間的選擇器測試。12個小時后,如此多次成功地完成了如此多的選擇器測試,它,即‘選擇器.open()’,突然拋出了以下異常:
java.io.IOException: Unable to establish loopback connection
at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:125)
at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:69)
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.ch.PipeImpl.<init>(PipeImpl.java:141)
at sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:50)
at java.nio.channels.Pipe.open(Pipe.java:150)
at sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:126)
at sun.nio.ch.WindowsSelectorProvider.openSelector(WindowsSelectorProvider.java:44)
at java.nio.channels.Selector.open(Selector.java:227)
at cn.scut.chiu.weibocrawler.job.JobManager.initIO(JobManager.java:55)
at cn.scut.chiu.weibocrawler.job.JobManager.<init>(JobManager.java:50)
at cn.scut.chiu.weibocrawler.distributed.worker.Worker.doCommandJob(Worker.java:80)
at cn.scut.chiu.weibocrawler.distributed.NodeBase.writeOp(NodeBase.java:186)
at cn.scut.chiu.weibocrawler.distributed.NodeBase.selectOp(NodeBase.java:87)
at cn.scut.chiu.weibocrawler.distributed.worker.Worker.run(Worker.java:63)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:344)
at sun.nio.ch.Net.bind(Net.java:336)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:199)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:91)
... 15 more
我的問題是,這個程序發生了什么?以及如何修復它?
推薦答案
為什么您一直在創建選擇器?也許是你泄露的?在任何情況下,您都應該盡可能長時間地使用一個選擇器,而不是不斷創建新的選擇器。
這篇關于Java.io.IOException:無法建立環回連接已在使用的java.net.BindException地址:BIND的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,