This week's book giveaway is in the Agile and Other Processes forum. We're giving away four copies of The Little Book of Impediments (e-book only) and have Tom Perry on-line! See this thread for details.
We have an online multi-threaded system in which we are responding more than 1500 req/sec by querying an Oracle 9 DB. In order to limit the querying period we have been using setQueryTimeout method of PreparedStatement class. This works fine. But once we have profiled our application and noticed that there were too many threads created and garbaged. Since thread creation is an expensive job, we should take care it. The problem is for each setQueryTimeout action, driver (ojdbc14.jar) creates a new timer thread. Is there anyone who uses this method such a multi-threaded platform and suffers such a problem? Can jdbc drivers apply thread pooling for such cases? Do you know any alternatives to limit long query waits or drop suspended statements ?