Manik: I think using a separate method is likely a cleaner approach. I do want to note
here that a separate method by itself can't solve the correctness issues I noted
in my comment of Sep. 18th, at least for the pessimistic case, since basically the
cache has no way of knowing whether the put() or the update() is providing newer
information. In the optimstic case with explicit versioning, the situation is better.
Scott: Are you wondering if we can get a "dirty read" if we call
putFromExternalRead()
the transaction suspended? The assumption here is that the caller of
putFromExternalRead() only calls the method with data that was committed to the
database before the start of the outer transaction, and not with data that was updated
in the outer transaction. Hibernate, for example, makes that guarantee except in
the most exotic situations. (You might be able to fool it if you tried hard.)
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977555#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...