JAC project
AOPSYS
CEDRIC & LIP6 labs

org.objectweb.jac.aspects.distribution
Interface ConsistencyConf


public interface ConsistencyConf

This aspect component provides some consistency protocols that can be settled on a set of replicas.

Author:
Renaud Pawlak
See Also:
ConsistencyAC

Method Summary
 void addStrongPullConsistency(String wrappeeName, String methods, String hosts)
          Adds a strong-pull consistency protocol on a set of replicas called wrappeeName.
 void addStrongPushConsistency(String wrappeeName, String methods, String hosts)
          Adds a strong-push consistency protocol on a set of replicas called wrappeeName.
 

Method Detail

addStrongPushConsistency

public void addStrongPushConsistency(String wrappeeName,
                                     String methods,
                                     String hosts)
Adds a strong-push consistency protocol on a set of replicas called wrappeeName.

The classical use of this consistency protocol is that any replica forwards all the writing calls to all the replicas located on the hosts defined by the consistency.

It is called "push" since the replica pushes the data to the other replicas. Despite this strategy is the most curently used, other strong or weak consistency strategies can be implemented by other consistency protocols.

Parameters:
wrappeeName - the name of the object to be consistent
methods - a pointcut expression that defines the methods that will be pushed to the other replicas (generally the state modifiers -- use the MODIFIERS keyword in your expression)
hosts - the location of the replicas as a pointcut expression

addStrongPullConsistency

public void addStrongPullConsistency(String wrappeeName,
                                     String methods,
                                     String hosts)
Adds a strong-pull consistency protocol on a set of replicas called wrappeeName.

On contrary to the push consistency, this protocol pulls the data from the other replicas. Indeed, each time a data is read and is not locally available, it is fetched from the known replicas.

Parameters:
wrappeeName - the name of the object to be consistent
methods - a pointcut expression that defines the methods that will be pulled from the other replicas (generally the state readers -- use the keyword ACCESSORS in your expression)
hosts - the location of the replicas as a pointcut expression

Contact JAC development team:
Renaud Pawlak
Lionel Seinturier
Laurent Martelli