公网上用jdbc,一定时间后,阻塞在executeQuery(),help!

公网上用jdbc,一定时间后,阻塞在executeQuery(),help!
我们用的是appche的连接池dbcp,当掉时,我用netstat -n查看连接很正常,别的线程也正常(用了数据库),只有这个线程停在rs = prestmt.executeQuery();
我们在进入每个方法前,用Log4J记录,退出时再记录,所以能够确定在这个方法上阻塞 ,最长时运行过6天的,当然也有过30多分钟就出现的
我们之前试过不用连接池,也出现问题了,在本地网上不会出现,在公网就会出问题.
熟悉这个的人请教!3ks

堆栈信息,都是在调用这个方法时出现:
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at com.microsoft.util.UtilSocketDataProvider.getArrayOfBytes(Unknown Sou
rce)
at com.microsoft.util.UtilBufferedDataProvider.cacheNextBlock(Unknown So
urce)

公用网速慢,连接线程死了

问题是为什么总是在运行一段时间死掉呢,一开始我总是从这个DB的connect的角度去考虑。又没有什么比较好的建议和解决办法呢?

不知道你的数据量很大否?


如果不是很大,可以采用jms尝试一下。