So lets say I have an N sized server array set up like so:
alt text http://www.terracotta.org/web/download/attachments/43909161/ServerArrayMirrorGroup.png
I have a simple JavaBean/POJO:
package example;
public class Person {
private OtherObject obj;
public void setObj(OtherObject theObj) {
synchronized (this) {
obj = theObj;
}
}
public OtherObject getObj() {
synchronized (this) {
return obj;
}
}
}
Now if one of the Clients calls Person.setObj(OtherObject) on a Person Object in the TC root (data structure), is the synchronized block (in Person.setObj(OtherObject)) on that client held:
1) Until all N of the Servers in the N sized server array have been synchronized/updated with that Person.obj attribute?
or
2) Until the "active" server has been synchronized with that updated Person.obj attribute? Then the other (N-1) servers in the array are synchronized as possible?
or
3) Some other method that I am over looking?