Not good news. I changed every resource statement in server.xml to something like this:
<Resource* testOnBorrow="true" validateQuery="SELECT 1"*name="jdbc/xxxxxxx" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" username="xxxxxxxx" password="xxxxxxxx" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1/xxxxxxxx"/> Zero change. I'm still getting the exact same error message telling me the connection has expired and I should use autoReconnect to fix it. First question... is the syntax above correct? (I saw some resource tag examples that used nested <parameter> tags and other examples that use attributes on resource tag like above. I couldn't find a definitive specification to use one over the other. Is the way I have it ok? Second question.... I like to turn on debug/trace for the connector. But the connector/j doc lists a ton of parameters for debug, and I don't have a clue how to set all of them. Can someone just give me a canned config I can add that'll trace what's going on in the connector? I'm basically at a loss. If the configuration above is correct, and I'm still getting expired connections, I don't know what else to do. If indeed TC 7 changed from round-robin to LIFO, it might explain why it started hitting stale connections. But that still doesn't explain why testOnBorrow, validateQuery, and autoReconnect=true don't seem to do anything on stale connections. Maybe with some logging and tracing, something will become obvious. Thx. Jerry