|
Apache Tomcat 6.0.43 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ReplicatedMapEntry
For smarter replication, an object can implement this interface to replicate diffs
The replication logic will call the methods in the following order:
1. if ( entry.isDirty() )
try {
2. entry.lock();
3. byte[] diff = entry.getDiff();
4. entry.reset();
} finally {
5. entry.unlock();
}
}
When the data is deserialized the logic is called in the following order
1. ReplicatedMapEntry entry = (ReplicatedMapEntry)objectIn.readObject();
2. if ( isBackup(entry)||isPrimary(entry) ) entry.setOwner(owner);
Method Summary | |
---|---|
void |
applyDiff(byte[] diff,
int offset,
int length)
Applies a diff to an existing object. |
byte[] |
getDiff()
Returns a diff and sets the dirty map to false |
long |
getVersion()
For accuracy checking, a serialized attribute can contain a version number This number increases as modifications are made to the data. |
boolean |
isDiffable()
If this returns true, the map will extract the diff using getDiff() Otherwise it will serialize the entire object. |
boolean |
isDirty()
Has the object changed since last replication and is not in a locked state |
void |
lock()
Lock during serialization |
void |
resetDiff()
Resets the current diff state and resets the dirty flag |
void |
setOwner(java.lang.Object owner)
This method is called after the object has been created on a remote map. |
void |
setVersion(long version)
Forces a certain version to a replicated map entry |
void |
unlock()
Unlock after serialization |
Method Detail |
---|
boolean isDirty()
boolean isDiffable()
byte[] getDiff() throws java.io.IOException
java.io.IOException
void applyDiff(byte[] diff, int offset, int length) throws java.io.IOException, java.lang.ClassNotFoundException
diff
- byte[]offset
- intlength
- int
java.io.IOException
java.lang.ClassNotFoundException
void resetDiff()
void lock()
void unlock()
void setOwner(java.lang.Object owner)
owner
- Objectlong getVersion()
void setVersion(long version)
version
- long
|
Apache Tomcat 6.0.43 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |