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 :
Since:
2.2.0
Author:
tchemit <chemit@codelutin.com>
  • Field Details

  • Method Details

    • 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