Socket accept failed

  一同事在win7下使用无线网,启动tomcat后,与数据库连接时报如下错误:(tomcat 1.6,sqlserver 2008 r2, jdk 1.6)

严重: Socket accept failed
java.net.SocketException: select failed
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
	at java.net.ServerSocket.accept(ServerSocket.java:421)
	at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
	at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352)
	at java.lang.Thread.run(Thread.java:619)
2011-8-31 15:36:59 org.apache.tomcat.util.net.JIoEndpoint$Acceptor run

 在网上搜了一下,说是与ipv6 有冲突建议把ipv6 卸掉,觉得这种方法欠妥. 又搜了一下,说是设定tomcat参数,奏效记录下:

在tomcat bin 目录下找到 catalina.bat 文件,用文本编辑器打开,找到这一行:

set JAVA_OPTS=

 

在其后添加:  (注意各参数用空格隔开)

-Djava.net.preferIPv4Stack=true

再启动后,OK

 

以上步骤简单来说: 就是让jvm使用 ipv4,不使用ipv6 .  总之,还是与ipv6冲突,不知是否是版本问题.

你可能感兴趣的:(tomcat,win7,ipv6)