Även om du frågar om JDBC, hoppas jag att detta hjälper dig att förstå alla tillgängliga alternativ...
Jag hanterar vanligtvis failover genom att använda en lastbalanserad konfiguration som på ett elegant sätt kan failover, snarare än vid JDBC-lagret.
MySQL Proxy är ett sätt att åstadkomma det:
http://www.cyberciti.biz/tips/mysql-proxy-howto .html