Kind of hard to say.
What's happening is fairly obvious - close() has been called on the
underlying Postgres PreparedStatement object, but the
DelegatingPreparedStatement is remaining in the pool.
I would suspect that the Connection that had been used in creating the
statement has been closed at some point, which in turn has caused the
statement to be closed - but I wouldn't know where!
You could try adding:
statementFactoryConfig.testOnBorrow = true;
in DatabaseManager.initialize() inside the if(useStatementPool), before
the GenericKeyedObjectPoolFactory is created. By default statements will
not be validated, and this will have them checked prior to use.
Also, there appears to be a bug in the TableRowIterator, although this
probably isn't affecting you. In close():
results.close();
if (results != null)
results.close();
should be:
if (results != null)
results.close();
results = null;
Regards,
G
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech