Hi,

I have an strange behavior with transactions.

I have a system where users must upload a document and then wait for this to be 
aproved:

-> upload document -> doc aproved -> you can upload other

...as you can see, latter if the document is aproved, then they are allowed to 
upload another one.

As you can see, in this model, each user should have at most one document 
waiting to be validated.

The problem is that if i open "more than one document uploading window" and 
press submit at once, eventually a race condition arise and two documents get 
registered, breaking the business rule.

Playing with the filter configuration in web.xml, i changed session-scope to 
true.

Magically this make the things work as expected and you can only upload one 
document, and the race condition is eliminated.

This solves the problem, but introduces another worst, sessions now see stale 
data, each session has its own version of the instances.

Please help.


Hans



Reply via email to