java.lang.Object
com.aoapps.appcluster.ResourceSynchronizer<JdbcResource,JdbcResourceNode>
com.aoapps.appcluster.CronResourceSynchronizer<JdbcResource,JdbcResourceNode>
com.aoapps.appcluster.jdbc.JdbcResourceSynchronizer
public class JdbcResourceSynchronizer
extends CronResourceSynchronizer<JdbcResource,JdbcResourceNode>
Performs synchronization using JDBC.
Every table must have a primary key.
Also, assumes that updating a non-primary key value will have no affect on other data.
Primary keys themselves are never updated, rows will be deleted and then inserted in this case.
For table dependencies, only uses primary keys and foreign keys that go to primary keys.
There must not be any cycle in the dependency graph.
TODO: Verify permissions? TODO: Verify indexes?
- Author:
- AO Industries, Inc.
-
Field Summary
Fields inherited from class com.aoapps.appcluster.ResourceSynchronizer
localResourceNode, remoteResourceNode -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJdbcResourceSynchronizer(JdbcResourceNode localResourceNode, JdbcResourceNode remoteResourceNode, Schedule synchronizeSchedule, Schedule testSchedule) Creates a newJdbcResourceSynchronizer. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancanSynchronize(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) protected ResourceSynchronizationResultsynchronize(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) Methods inherited from class com.aoapps.appcluster.CronResourceSynchronizer
canSynchronizeNow, getCanSynchronizeNow, getCanTestNow, getLastResult, getState, getStateMessage, getSynchronizeSchedule, getTestSchedule, start, stop, synchronizeNowMethods inherited from class com.aoapps.appcluster.ResourceSynchronizer
getLocalResourceNode, getRemoteResourceNode, getResultStatus, toString
-
Constructor Details
-
JdbcResourceSynchronizer
protected JdbcResourceSynchronizer(JdbcResourceNode localResourceNode, JdbcResourceNode remoteResourceNode, Schedule synchronizeSchedule, Schedule testSchedule) Creates a newJdbcResourceSynchronizer.
-
-
Method Details
-
canSynchronize
protected boolean canSynchronize(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) - Specified by:
canSynchronizein classCronResourceSynchronizer<JdbcResource,JdbcResourceNode>
-
synchronize
protected ResourceSynchronizationResult synchronize(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) - Specified by:
synchronizein classCronResourceSynchronizer<JdbcResource,JdbcResourceNode>
-
