|
Apache Tomcat 7.0.28 | ||||||||
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 |
accessEntry()
Access to an existing object. |
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 |
getLastTimeReplicated()
Return the last replicate time. |
long |
getVersion()
For accuracy checking, a serialized attribute can contain a version number This number increases as modifications are made to the data. |
boolean |
isAccessReplicate()
If this returns true, to replicate that an object has been accessed |
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 |
setLastTimeReplicated(long lastTimeReplicated)
Set the last replicate time. |
void |
setOwner(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 IOException
IOException
void applyDiff(byte[] diff, int offset, int length) throws IOException, ClassNotFoundException
diff
- byte[]offset
- intlength
- int
IOException
ClassNotFoundException
void resetDiff()
void lock()
void unlock()
void setOwner(Object owner)
owner
- Objectlong getVersion()
void setVersion(long version)
version
- longlong getLastTimeReplicated()
void setLastTimeReplicated(long lastTimeReplicated)
lastTimeReplicated
- boolean isAccessReplicate()
void accessEntry()
|
Apache Tomcat 7.0.28 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |