|
||||||||||
PREV CLASS (src) NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.cache.interceptors.Interceptor (src)
org.jboss.cache.interceptors.ReplicationInterceptor
Takes care of replicating modifications to other nodes in a cluster. Also listens for prepare(), commit() and rollback() messages which are received 'side-ways' (see docs/design/Refactoring.txt).
Constructor Summary | |
ReplicationInterceptor()
Map |
Method Summary | |
java.lang.Object |
invoke(MethodCall m)
|
java.lang.Object |
replicate(MethodCall method_call)
Received as result of replication sent from another node to this node |
protected void |
runCommitPhase(GlobalTransaction (src) gtx)
Asynchronously calls #commit(GlobalTransaction) in all members |
protected void |
runPreparePhase(GlobalTransaction (src) tx,
MethodCall prepare_method,
Address coordinator,
java.util.List modifications,
boolean async)
Calls #prepare(GlobalTransaction,List,org.jgroups.Address,boolean)) in all members except self. |
protected void |
runRollbackPhase(GlobalTransaction (src) gtx)
Asynchronously calls #rollback(GlobalTransaction) in all members |
void |
setCache(TreeCache (src) cache)
|
Methods inherited from class org.jboss.cache.interceptors.Interceptor (src) |
getNext, setNext |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ReplicationInterceptor()
Method Detail |
public void setCache(TreeCache (src) cache)
setCache
in class Interceptor (src)
public java.lang.Object invoke(MethodCall m) throws java.lang.Throwable
invoke
in class Interceptor (src)
java.lang.Throwable
public java.lang.Object replicate(MethodCall method_call) throws java.lang.Throwable
replicate
in interface Replicatable (src)
method_call
-
java.lang.Throwable
protected void runPreparePhase(GlobalTransaction (src) tx, MethodCall prepare_method, Address coordinator, java.util.List modifications, boolean async) throws java.lang.Exception
#prepare(GlobalTransaction,List,org.jgroups.Address,boolean))
in all members except self.
Waits for all responses. If one of the members failed to prepare, its return value
will be an exception. If there is one exception we rethrow it. This will mark the
current transaction as rolled back, which will cause the
#afterCompletion(int)
callback to have a status
of MARKED_ROLLBACK. When we get that call, we simply roll back the
transaction.#afterCompletion(int)
callback will trigger the #runCommitPhase(GlobalTransaction))
.
tx
- coordinator
- prepare_method
- The MethodCall representing the prepare() methodasync
- Run this asynchronously
java.lang.Exception
protected void runCommitPhase(GlobalTransaction (src) gtx)
#commit(GlobalTransaction)
in all members
protected void runRollbackPhase(GlobalTransaction (src) gtx)
#rollback(GlobalTransaction)
in all members
|
||||||||||
PREV CLASS (src) NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |