I would like to add that you can probably get rid of RowLock and use checkAndPut instead to atomically create the row if it doesn't already exist. This would probably solve the last problem I outlined where 2 different instances of your web service attempt to assign the same ID at the same time. The code would also be simpler and more efficient.
-- Benoit "tsuna" Sigoure Software Engineer @ www.StumbleUpon.com
