aspose file tools
The moose likes JDBC and the fly likes Connection.close hangs Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Reply Bookmark "Connection.close hangs" Watch "Connection.close hangs" New topic
Author

Connection.close hangs

Mahesh Sivaraman
Greenhorn

Joined: Jun 19, 2002
Posts: 19
Hi,
I have a connection which executes an Oracle Procedure through CallableStatement. The procedure takes about 5 minutes to complete. When i call the close method of that connection from another thread, the connection hangs. It will remain in that state until the statement execution is over. I am having problems because of this since i call the connection close method from a static synchronized method. No other threads can call any of the other methods of my class until the connection.close method returns. Is thr any way by which i can immediatly terminate the connection ? I don't want to remove the synchronized property of the method. I am using Oracle thin driver.
Can anyone shed some light on it.
Thanx in Advance
Regards
Mahesh
Avi Abrami
Ranch Hand

Joined: Oct 11, 2000
Posts: 1112

Hi Mahesh,
I may be misinterpreting your question, but I think you are looking for a way to cancel the execution of your stored procedure when it takes too long to complete.
Have you tried the "cancel()" and/or "setQueryTimeout()" methods in java.sql.Statement?
I suggest you verify whether they are supported by Oracle's JDBC driver. Perhaps check the Oracle documentation.
Hope this helps.
Good Luck,
Avi.
Mahesh Sivaraman
Greenhorn

Joined: Jun 19, 2002
Posts: 19
Hi Avi,
Thanx for replying. I cannot use setQueryTimeOut method because, the time taking for completing the procedure is perfectly legal. The procedure does a lot of things before it completes. And for calling the cancel method i don't have the reference of the Statement object. One thread starts the execution. Its a servlet environment. Another http request(another thread) will try to close the connection which started the procedure execution. Anyway i'll try to cancel the execution using cancel() method.
Meanwhile if u have any other ideas for immediatly terminating the connection please tell me.
Thanx for ur Co-operation
Regards
Mahesh
Mahesh Sivaraman
Greenhorn

Joined: Jun 19, 2002
Posts: 19
Hi Avi,
I tried cancelling the statement execution through a sample program. It worked. Thanx. But as i said earlier, i don't have the reference of the Statement object. Is thr any way through which i can get the references (as a collection or something) of the currently active statements in a connection. I searched in the JDBC API but cudn't find one. Any idea ?
Thanx and Regards
Mahesh
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Connection.close hangs
 
Similar Threads
How to catch Oracle error codes and error message
connection pooling issue in production environment -
Queries regarding PreparedStatement
How to call database stored procedures using EJB ??
Clobs, Stored procedures and Oracle 8i