Package org.nuiton.topia.replication
Class TopiaReplicationServiceImpl
java.lang.Object
org.nuiton.topia.replication.TopiaReplicationServiceImpl
- All Implemented Interfaces:
TopiaService,TopiaReplicationService
Implantation du service de replication.
- Since:
- 2.2.0
- Author:
- Tony Chemit - chemit@codelutin.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected TopiaApplicationContextle contexte sur la base source de la replicationprotected TopiaReplicationModelBuilderle constructeur de modèle de réplication. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voiddoReplicate(ReplicationModel model, TopiaApplicationContext targetTx) 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 methodeTopiaReplicationService.prepare(TopiaEntityEnum[], boolean, String...)ouTopiaReplicationService.prepareForAll(TopiaEntityEnum[]).voiddoReplicateNode(TopiaReplicationContext replicationContext, ReplicationNode node) voiddoRollback(TopiaReplicationContext replicationContext) Pour revenir en arrière lorsque la réplication a échouée .voiddoRollbackNode(TopiaReplicationContext replicationContext, ReplicationNode node) Obtains themodel builderuse to creat the replication's model.voidinitTopiaService(TopiaApplicationContext topiaApplicationContext, Map<String, String> serviceConfiguration) prepare(TopiaEntityEnum[] contracts, boolean computeOrder, String... topiaIds) Prepare le modele de replication pour les entites dans les topiaIds sont donnes.prepareForAll(TopiaEntityEnum[] contracts) Prepare le modele de replication pour toutes les entites des types donnes.
-
Field Details
-
context
le contexte sur la base source de la replication -
modelBuilder
le constructeur de modèle de réplication.- Since:
- 2.4.3
-
-
Constructor Details
-
TopiaReplicationServiceImpl
public TopiaReplicationServiceImpl()
-
-
Method Details
-
initTopiaService
public void initTopiaService(TopiaApplicationContext topiaApplicationContext, Map<String, String> serviceConfiguration) - Specified by:
initTopiaServicein interfaceTopiaService
-
prepare
public ReplicationModel prepare(TopiaEntityEnum[] contracts, boolean computeOrder, String... topiaIds) throws TopiaException Description copied from interface:TopiaReplicationServicePrepare le modele de replication pour les entites dans les topiaIds sont donnes.- Specified by:
preparein interfaceTopiaReplicationService- Parameters:
contracts- les contrats a repliquercomputeOrder- drapeau positionné àtruesi on doit calculer l'ordre des entités à repliquer, sinon on utilise l'ordre induit par lescontracts.topiaIds- la liste des ids d'entites a repliquer- Returns:
- le model de replication initialise
- Throws:
TopiaException- pour toute erreur recontree
-
prepareForAll
Description copied from interface:TopiaReplicationServicePrepare 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.- Specified by:
prepareForAllin interfaceTopiaReplicationService- Parameters:
contracts- les contrats des types a repliquer- Returns:
- le modele pour la replication
- Throws:
TopiaException- pour toute erreur rencontree
-
getModelBuilder
Description copied from interface:TopiaReplicationServiceObtains themodel builderuse to creat the replication's model.- Specified by:
getModelBuilderin interfaceTopiaReplicationService- Returns:
- the model builder
-
doReplicate
Description copied from interface:TopiaReplicationServiceLance 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 methodeTopiaReplicationService.prepare(TopiaEntityEnum[], boolean, String...)ouTopiaReplicationService.prepareForAll(TopiaEntityEnum[]).- Specified by:
doReplicatein interfaceTopiaReplicationService- Parameters:
model- le modele de replicationtargetTx- le context sur la source de donnees ou repliquer- Throws:
Exception- pour toute erreur pendant la replication
-
doRollback
Description copied from interface:TopiaReplicationServicePour revenir en arrière lorsque la réplication a échouée .- Specified by:
doRollbackin interfaceTopiaReplicationService- Parameters:
replicationContext- the replication's context used to start replication.- Throws:
Exception- pour toute erreur pendant la replication
-
doReplicateNode
public void doReplicateNode(TopiaReplicationContext replicationContext, ReplicationNode node) throws Exception - Throws:
Exception
-
doRollbackNode
public void doRollbackNode(TopiaReplicationContext replicationContext, ReplicationNode node) throws Exception - Throws:
Exception
-
close
public void close()- Specified by:
closein interfaceTopiaService
-