Sporadically, the last few entries of a batch are not written. I'm writing
to a mysql database using JDBC. Here's a short version of my code. Does
anyone have suggestions on possible causes or other diagnostics?
class DatabaseWriter{
int writeCount=0;
public DatabaseWriter(){
PreparedStatement preparedStatement = connection.prepareStatement("insert
into msgpersecond ( time , count , sendercompid , targetcompid )
values ( ? , ? , ? , ? )");
connection.setAutoCommit( false ); // turn off auto-Commit
}
public void process(Object input){
preparedStatement.setFloat( 2 , event.msgPerSecond );
preparedStatement.addBatch( );
writeCount++:
if (writeCount > 50) {
updateCounts = preparedStatement.executeBatch( );
connection.commit( );
preparedStatement.clearBatch( );
writeCount=0;
}
}
}
process() gets called a lot. The code usually works fine, but sometimes 3
to 20 or so records that definitely are added to the batch but don't get
written.
I'd greatly appreciate any suggestions.
Thanks
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.