thanks for posting your questions
On Tue, Aug 25, 2009 at 9:24 PM, Mark Volkmann<r.mark....@gmail.com
> Can objects from a class that has been annotated with @AtomicObject be
> modified outside a transaction?
It can't happen because all methods of atomicobjects are atomic by default.
In the future propagation support will be added.
All (mutable) state is removed from the atomic object, and moved to
the transaction local version
(I call this the tranlocal). And it is "impossible" to access the
tranlocal without a transaction.
> Are conflicts between transactions only detected during a commit?
In the future pessimistic locking will be added to prevent conflicts,
and if needed
a 'validate' method on the transaction can be added to see if the
any chance of succeeding. Perhaps this functionality could also be triggered
when a method on the transaction is called (for example the load). Such a method
could act like a tripwire just like the interrupt status on a thread
that causes a
interruptedexception to be thrown when a blocking method is started.
> other words, do methods that have been annotated with @AtomicMethod
> always run to completion before conflicts are detected?
Yes.. for now... but if it is really needed, it could be added.