org.nuiton.topia.replication
Interface TopiaReplicationService

All Superinterfaces:
TopiaService
All Known Implementing Classes:
TopiaReplicationServiceImpl

public interface TopiaReplicationService
extends TopiaService

User visible interface for replication engin

To use replicator you must have properties defined in config file:

  • topia.replication.engin=[class used to indexation]
  • possible specific property for index engin used

    The replication is always done in two phases :

  • - prepare the replication model - (prepare(TopiaEntityEnum[], boolean, String...) - (prepareForAll(TopiaEntityEnum[])

  • - lanch replication doReplicate(ReplicationModel, TopiaContext)

    Since:
    2.2.0
    Author:
    tchemit

    Field Summary
    static String SERVICE_NAME
              Nom du service
    static String TOPIA_SERVICE_NAME
              Nom du service topia
     
    Method Summary
     void doReplicate(ReplicationModel model, TopiaContext dstCtxt)
              Lance l'operation de replication a partir du context source vers le context de destination sur les entites donnees et en utilisant le modele de replication precedemment construit via la methode prepare(TopiaEntityEnum[], boolean, String...) ou prepareForAll(TopiaEntityEnum[]).
     void doRollback(TopiaReplicationContext replicationContext)
              Pour revenir en arrière lorsque la réplication a échouée .
     TopiaReplicationModelBuilder getModelBuilder()
              Obtains the model builder use to creat the replication's model.
     ReplicationModel prepare(TopiaEntityEnum[] contracts, boolean computeOrder, String... topiaIds)
              Prepare le modele de replication pour les entites dans les topiaIds sont donnes.
     ReplicationModel prepareForAll(TopiaEntityEnum[] contracts)
              Prepare le modele de replication pour toutes les entites des types donnes.
     
    Methods inherited from interface org.nuiton.topia.framework.TopiaService
    getPersistenceClasses, getServiceName, postInit, preInit
     

    Field Detail

    SERVICE_NAME

    static final String SERVICE_NAME
    Nom du service

    See Also:
    Constant Field Values

    TOPIA_SERVICE_NAME

    static final String TOPIA_SERVICE_NAME
    Nom du service topia

    See Also:
    Constant Field Values
    Method Detail

    getModelBuilder

    TopiaReplicationModelBuilder getModelBuilder()
    Obtains the model builder use to creat the replication's model.

    Returns:
    the model builder
    Since:
    2.4.3

    prepare

    ReplicationModel prepare(TopiaEntityEnum[] contracts,
                             boolean computeOrder,
                             String... topiaIds)
                             throws TopiaException
    Prepare le modele de replication pour les entites dans les topiaIds sont donnes.

    Parameters:
    contracts - les contrats a repliquer
    computeOrder - drapeau positionné à true si on doit calculer l'ordre des entités à repliquer, sinon on utilise l'ordre induit par les contracts.
    topiaIds - la liste des ids d'entites a repliquer
    Returns:
    le model de replication initialise
    Throws:
    TopiaException - pour toute erreur recontree

    prepareForAll

    ReplicationModel prepareForAll(TopiaEntityEnum[] contracts)
                                   throws TopiaException
    Prepare le modele de replication pour toutes les entites des types donnes.

    La méthode calcule l'ordre de replication des données.

    Actuellement, on n'est pas capable de calculer l'ordre si le graphe des entités contient des cycles.

    TODO : faire en sorte de pouvoir gérer les cycles.

    Parameters:
    contracts - les contrats des types a repliquer
    Returns:
    le modele pour la replication
    Throws:
    TopiaException - pour toute erreur rencontree

    doReplicate

    void doReplicate(ReplicationModel model,
                     TopiaContext dstCtxt)
                     throws Exception
    Lance l'operation de replication a partir du context source vers le context de destination sur les entites donnees et en utilisant le modele de replication precedemment construit via la methode prepare(TopiaEntityEnum[], boolean, String...) ou prepareForAll(TopiaEntityEnum[]).

    Parameters:
    model - le modele de replication
    dstCtxt - le context sur la source de donnees ou repliquer
    Throws:
    Exception - pour toute erreur pendant la replication

    doRollback

    void doRollback(TopiaReplicationContext replicationContext)
                    throws Exception
    Pour revenir en arrière lorsque la réplication a échouée .

    Parameters:
    replicationContext - the replication's context used to start replication.
    Throws:
    Exception - pour toute erreur pendant la replication


    Copyright © 2004-2011 CodeLutin. All Rights Reserved.