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
ModifierConstructorDescriptionprotected
JdbcResourceSynchronizer
(JdbcResourceNode localResourceNode, JdbcResourceNode remoteResourceNode, Schedule synchronizeSchedule, Schedule testSchedule) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
canSynchronize
(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) protected ResourceSynchronizationResult
synchronize
(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) Methods inherited from class com.aoapps.appcluster.CronResourceSynchronizer
canSynchronizeNow, getCanSynchronizeNow, getCanTestNow, getLastResult, getState, getStateMessage, getSynchronizeSchedule, getTestSchedule, start, stop, synchronizeNow
Methods inherited from class com.aoapps.appcluster.ResourceSynchronizer
getLocalResourceNode, getRemoteResourceNode, getResultStatus, toString
-
Constructor Details
-
JdbcResourceSynchronizer
protected JdbcResourceSynchronizer(JdbcResourceNode localResourceNode, JdbcResourceNode remoteResourceNode, Schedule synchronizeSchedule, Schedule testSchedule)
-
-
Method Details
-
canSynchronize
protected boolean canSynchronize(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) - Specified by:
canSynchronize
in classCronResourceSynchronizer<JdbcResource,
JdbcResourceNode>
-
synchronize
protected ResourceSynchronizationResult synchronize(ResourceSynchronizationMode mode, ResourceNodeDnsResult localDnsResult, ResourceNodeDnsResult remoteDnsResult) - Specified by:
synchronize
in classCronResourceSynchronizer<JdbcResource,
JdbcResourceNode>
-