org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection; nested exception is java.sql.SQLException: javax.resource.ResourceException: IJ000457: Unchecked throwable in managedConnectionReconnected() cl=org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@10c6f695[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@7666b8cd connection handles=0 lastUse=1381360841273 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@15fc1a23 pool internal context=SemaphoreArrayListManagedConnectionPool@5bdd369f[pool=073CLIENTXADS] xaResource=XAResourceWrapperImpl@5a17fb1b[xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@7666b8cd pad=false overrideRmValue=null productName=MySQL productVersion=5.1.69 jndiName=java:/jdbc/073CLIENTXADS] txSync=null]
Am using Spring framework inside JBoss EAP 6.1.
Application has a long lived thread, that waits for customer network events, before then starting a new JTA managed transaction, that possibly uses multiple data sources (some data sources are only enlisted depending on certain event types) but in the most part at least 2 JDBC are always enlisted. I have setup XA usage and can see plenty of additional XID in the network.
I have configured both the <validation-connection-checker class-name="..."/> and the <exception-sorter class-name="..."/> in all DataSources. No other params are configured except the minimum defaults (user-name, password, driver, driver-class, connection-url).
Problem only occurs once every 10 days and then maybe 3 times over the next few days before being fine. Neither the OS or JBoss JVM is restarted during this time.
The SQL server appears to be reliable, I am considering leaving a tcpdump open to capture the sequence of events (and which side closes the connection). The SQL server has the default timeouts that appears to be 28800 seconds.
IronJacamar version appears to be ironjamamar-jdbc-1.0.16.Final-redhat-1.jar
Is this problem with IJ ? How might I debug this better? The above is what is seen from application code but it doesn't present much information.
Some Internet research indicates that upgrading to 1.1.x resolved other people describing similar problems. Should this be a drop in replacement for me as using largely default settings ?
Every 2min 10sec I see 'Periodic Recovery' in JBoss AS log for the same 2 transaction (tx_uid). Is this normal. ARJUNA016037: Could not find new XAResource to use for recovering non-serializable XAResource XAResourceRecord < .... heuristic: TwoPhaseOutcome.FINISH_OK ... >, it is not for the same DataSource as above, this kind of periodic recovery normal ? if not how do I clear it, it is possible it is due to initial bad setup and use of XA ?