I want to automatically reconnect and resend the last SQL Query if a connection closed (e.g. on the db server, not because I will close it).
I know I could do connection.isValid() (which is just SELECT 1 in most driver implementations) before sending each query, but this is wasteful. I will add a round-trip delay to every single one of my queries.
What I wanted was something more like:
Sends a query to the database
If the connection is down reconnect and resend the same query
If can't reconnect, throw the connection closed Exception.
Are there any recommendations regarding this? I can't imagine I am the first one to want something like it.
I am thinking about making a wrapper around my driver's java.sql.Connection and run this algorithm behind the scenes, but if there's something out there yet I would appreciate to not have to reinvent the whell (I tried to google it, but couldn't find anything).
PS: I don't want a connection pool because I will use this inside an AWS Lambda instance and all the connection pools I know would just run isValid before each query.