The OFBiz JDBC url already has autoReconnect=true.
That was my first contribution ever to ofbiz!
On Oct 21, 2006, at 6:38 AM, Hans Holmlund wrote:
I have a problem with MySQL connections who fails. I get a
com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException. I
found an explanation for this in an help page from MySQL (http://
dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-
troubleshooting.html#qandaitem-24-3-5-3-4):
" MySQL closes connections after 8 hours of inactivity. You either
need to use a connection pool that handles stale connections or use
the "autoReconnect" parameter. /-/ *Note. * Use of the |
autoReconnect| option is not recommended because there is no safe
method of reconnecting to the MySQL server without risking some
corruption of the connection state or database state information.
Instead, you should use a connection pool which will enable your
application to connect to the MySQL server using an available
connection from the pool. The |autoReconnect| facility is
deprecated, and may be removed in a future release."
This (managing stale connection) is not how EntityEngine has done
its implementation, with EE you can only set autoReconnect to true.
I wonder if you have planned to change this. In the above mentioned
page there is some example code, so this should be an easy thing to
fix.
Thanks,
Hans Holmlund
org.ofbiz.geronimo.GeronimoTransactionFactory - Geronimo is the
configured transaction manager but there was an error getting a
database Connection through Geronimo for the mysql datasource.
Please check your configuration, class path, etc.
java.lang.RuntimeException: Unable to setTransactionIsolation:
Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2304)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2803)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3118)
at com.mysql.jdbc.Connection.setTransactionIsolation
(Connection.java:5499)
at
org.ofbiz.minerva.pool.jdbc.xa.wrapper.XAConnectionImpl.setTransaction
Isolation(XAConnectionImpl.java:117)
at
org.ofbiz.minerva.pool.jdbc.xa.XAConnectionFactory.prepareObject
(XAConnectionFactory.java:412)
at org.ofbiz.minerva.pool.ObjectPool.getObject
(ObjectPool.java:645)
at
org.ofbiz.minerva.pool.jdbc.xa.XAPoolDataSource.getConnection
(XAPoolDataSource.java:355)
at
org.ofbiz.entity.transaction.MinervaConnectionFactory.getConnection
(MinervaConnectionFactory.java:56)
at org.ofbiz.geronimo.GeronimoTransactionFactory.getConnection
(GeronimoTransactionFactory.java:94)
at
org.ofbiz.entity.transaction.TransactionFactory.getConnection
(TransactionFactory.java:104)
at org.ofbiz.entity.jdbc.ConnectionFactory.getConnection
(ConnectionFactory.java:82)
at org.ofbiz.entity.jdbc.SQLProcessor.getConnection
(SQLProcessor.java:268)
at org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement
(SQLProcessor.java:374)
at org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement
(SQLProcessor.java:358)
at org.ofbiz.entity.datasource.GenericDAO.select
(GenericDAO.java:539)
at org.ofbiz.entity.datasource.GenericDAO.select
(GenericDAO.java:510)
at
org.ofbiz.entity.datasource.GenericHelperDAO.findByPrimaryKey
(GenericHelperDAO.java:90)
at org.ofbiz.entity.GenericDelegator.findByPrimaryKey
(GenericDelegator.java:1248)
at org.ofbiz.entity.GenericDelegator.findByPrimaryKey
(GenericDelegator.java:1304)
Best Regards,
Si
[EMAIL PROTECTED]