First of all.. you're right.. we don't use EJBs.. I found it. I passed just the ResultSet Object to the Thread and used the objRs.getStatement().getConnection().close() to close it. The Pool cannot handle object references like this. Now I set up an additional parameter to the Thread which contains the Connection object. It seems to be so, that the Pool just can handle direct variable references to the pooled Connections. Now all works fine. Thanks to all who answered me .. PS: The reason why I am doing the background fetch is, that I have a first SQL-Statement which fetches the IDs in correct order (pagewise for display) and then i get the displayed data with a second SQL for the page to display. With the background fetch I am able to display the first page directly after its IDs are fetched. The fetch of all ID-pages lasts about 1 minute in out application. Oliver
