Hello,
I read the documentation and didn't understand a part of it:
anonymous wrote :
| For example, if a transaction calls cache.getRoot().getChild(
Fqn.fromString("/a/b/c") ) , nodes a, b and c are copied from the main data
tree and into the workspace. The data is versioned and all calls in the
transaction work on the copy of the data rather than the actual data. When the
transaction commits, its workspace is merged back into the underlying tree by
matching versions. If there is a version mismatch - such as when the actual
data tree has a higher version than the workspace, perhaps if another
transaction were to access the same data, change it and commit before the first
transaction can finish - the transaction throws a RollbackException when
committing and the commit fails.
|
Is TreeCache going to follow this behaviour even during read calls? In the case
of a thread that reads a value, while another one is modifying that same value,
does the reader thread get an Exception?
The kind of bahaviour that I need is this:
- All reads can get the value immediately
- All writes must wait for another write to finish to get a lock
- A read call that happens while a writer thread locks the data recieves the
data that was in the cache before the lock. In other words, the data is visible
to other thread only once the writer thread has committed.
Would that be possible with Optimistic locking?
Thanks for your help :-)
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4111530#4111530
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4111530
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user