|
|
|
We are having the same issue using Oracle. Here is our config:
<persistenceAdapter> <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> Any ideas what could cause this? Thanks... And we also have been having "this" issue since Feb 2007 in 4.1.0 on Derby
Other people, also having this issue: http://www.nabble.com/failed-to-checkpoint-a-message-store--tf3156345s2354.html#a8752776 Config: <persistenceAdapter> SEVERE: Failed to checkpoint a message store: edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.io.IOException: Not started. After that happens the first time I keep seeing this every second or so about 30 times and after that AMQ is dead. No messages are delivered anymore. Once in this state I cannot pull up messages via jconsole / operations / Browse As Table.
I've been looking at the 4.1.1 code for checkpointing and think I've found a problem.
JDBC statements for copying messages to the longterm storage are handled by a TransactionContext object. If a SQLException is raised during execution of TransactionContext.commit(), the finally clause will close the JDBC connection and clear the 'inTx' flag showing a current transaction. However the exception will cause a TransactionContext.rollback() to be called, which will see the cleared 'inTx' flag and throw an exception with the 'Not started' message in the logs above. Also, the JDBC rollback() and statement close() methods won't be called correctly which could cause leaks or partial data commits. JDBCPersistenceAdapter.log only logs SQL errors at the debug level, so the root cause of this problem is likely to be missing from the logs. My guess is that the different reports above might each reflect a different SQL error. It looks like the minimal changes which should be made here are:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
Do you have an activemq schema in your db?
It works in my Windows XP, Java 1.5.0_06, MySQL 5.0.24 environment.