How Terracotta knows that object is changed inside one JVM to propagate this change to another JVM? I.e. how can I code similar behavior?
I want to be able to watch changes in instances of some classes, without changing them at all.
It uses instrumentation. It's explained (in high level) in the terracotta wiki
Shouldn't a observer pattern help. If you implement your class as observable and have an oberver , the observer will be notified when ever the observable class goes through some change.