关于The Network Adapter could not establish connection。

程序是一个线程(extends Thread)程序,主线程每间隔一段时间(500ms)增、删、查数据库(oracle9)。
都是在一个服务器上,
比如主线程查询到数据库有100条记录,通过for循环产生100个分线程去取数据库中的数据,然后调用web服务将数据发送出去。
在运行一段时间以后 就会陆续出现The Network Adapter could not establish connection的错误,
时好时坏,线程程序采用的是spring jdbctemplate操作数据库,从数据库监控看到 连接很快就释放。

通过修改配置,在程序中每个分线程启动之前sleep(1000),通知控制分线程的数目,程序就运行正常了。

有个疑问,oracle 肯定支持并发 为什么我连续启动100个以上的线程就会出现这样的错误呢?

任何单机软件都总有最大连接数,不可能无限增大。所有,单机性能总是有天花板