Jag har skapat min egen JdbcDirectory-implementering, även om den skulle förlita sig på JEE6 för att dra fördel av @Singleton
anteckning. Koden i sig är inte för trivial för att klistra in i ett StackOverflow-inlägg och den har fortfarande några begränsningar. Nyckeln är att du inte kan göra flera operationer på en enda transaktion med flera trådar på grund av databaslåsningssemantiken.
När du tittar på din implementering verkar det som att du också behåller de raderade "filerna" förmodligen för att det skulle ha mindre fragmentering i databasarkivet, medan jag hade tagit bort posten själv.
Jag har taggat en version som jag arbetar med som verkar stabil nog för mina testladdningar. Kom gärna med kommentarer eller förslag på det.