简体   繁体   中英

How to set query timeout on PreparedStatement?

Is there a way to get Connection.prepareStatement() to throw an error or return, instead of waiting for a row lock?

I am trying to implement cross-process synchronization with using a prepared statement, that i do not commit, so it grabs a write lock on a specific row. In the other processes it tries to prepare the sql statement, then it hangs while the original process finishes up. I need this to let me know it is hanging, so i can stop the function, and try again whenever it gets rescheduled.

Any ideas? Ive been googling for days, and can't seem to find a yes/no to this.

Im a fool, I figured this out yesterday and just forgot...

To solve it, do

preparedstatement = con.prepareStatement(query);
preparedstatement.setQueryTimeout(seconds);

and then just catch the exception.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM