|
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
ClassNotFoundExceptionvoid 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 | ||||||||