java.io.IOException:无法建立环回连接java.net.BindException地址已在使用中:bind

时间:2014-10-11 02:02:51

标签: java selector

我正在eclipse控制台上的windows7系统上运行一个长时间的选择器测试.12小时后,很多次select.open已成功完成次数,它,' selector.open()& #39;突然抛出以下例外:

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

我的问题是该计划发生了什么?以及如何解决它?

1 个答案:

答案 0 :(得分:0)

为什么你一直在创建选择器?也许你正在泄漏它们?在任何情况下,您应尽可能长时间使用一个选择器,而不是继续创建新选择器。