Have you tried the connection validation options on the Connection Pool? I find the "table" method most reliable.
I don't know how "seemless" the failover should be, but it's hard to imagine a transaction surviving. But without connection validation, the pool is probably never reseting the connection to enable the driver to fail over.
That's just a guess tho.
[Message sent by forum member 'whartung' (whartung)]
http://forums.java.net/jive/thread.jspa?messageID=292641