Hi,
I have added txns support in LdapCoreSessionConnection, but I have some
issues with searches : the txn has to remain opened until the cursor is
closed. That means the cursor must retain the txns and that the commit
is done in the cursor.close() operation.
I think we can use the inner ClosureMonitor to do that, but the question
is what should we do when we get an exception during the search ? I
would suggest that a search is done this way :
Cursor cursor = null;
try
{
cursor = connection.search( blah ) // The txn is started and stored
into the ClosureMonitor
while (cursor.next())
{
Entry result = cursor.get();
// do whatever is needed with the entry
}
}
finally
{
cursor.close(); // Here, the cursor holds the current status for the
search : successful or failure.
// If successful, do a commit, otherwise, do a rollback
}
Does it makes sense ?
--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com