Class TriggerRouterService
java.lang.Object
org.jumpmind.symmetric.service.impl.AbstractService
org.jumpmind.symmetric.service.impl.TriggerRouterService
- All Implemented Interfaces:
IService
,ITriggerRouterService
- See Also:
-
Field Summary
Fields inherited from class org.jumpmind.symmetric.service.impl.AbstractService
log, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
awaitTermination
(ExecutorService executor, List<Future<?>> futures) buildSymmetricTableRouterId
(String triggerId, String sourceNodeGroupId, String targetNodeGroupId) protected Trigger
buildTriggerForSymmetricTable
(String tableName, Set<String> configTablesWithoutCapture) buildTriggerRoutersForSymmetricTables
(String version, NodeGroupLink nodeGroupLink, String... tablesToExclude) Return a list of triggers used when extraction configuration data during the registration process.protected TriggerRouter
buildTriggerRoutersForSymmetricTables
(String version, Trigger trigger, NodeGroupLink nodeGroupLink) buildTriggersForSymmetricTables
(String version, String... tablesToExclude) void
void
createTriggersOnChannelForTables
(String channelId, String catalogName, String schemaName, List<String> tables, String lastUpdateBy) void
void
void
void
deleteRouter
(Router router) void
deleteTrigger
(Trigger trigger) protected void
deleteTriggerHistory
(TriggerHistory history) void
deleteTriggerRouter
(String triggerId, String routerId) void
deleteTriggerRouter
(TriggerRouter triggerRouter) void
deleteTriggerRouters
(Collection<TriggerRouter> triggerRouters) protected void
deleteTriggerRouters
(ISqlTransaction transaction, Collection<TriggerRouter> triggerRouters) void
deleteTriggers
(Collection<Trigger> triggers) boolean
doesTriggerExist
(String triggerId) boolean
doesTriggerExistForTable
(String tableName) boolean
doesTriggerExistForTable
(String tableName, boolean useTriggerHist) protected boolean
doesTriggerRouterExistInList
(List<TriggerRouter> triggerRouters, TriggerRouter triggerRouter) protected void
dropTrigger
(StringBuilder sqlBuffer, String catalog, String schema, String triggerName, String tableName) void
void
dropTriggers
(boolean includeSymTriggers) void
dropTriggers
(Set<String> tables) void
dropTriggers
(TriggerHistory history) protected void
dropTriggers
(TriggerHistory history, StringBuilder sqlBuffer) protected void
dropTriggers
(TriggerHistory history, StringBuilder sqlBuffer, TriggerRouterContext context) protected void
dropTriggersIfNeeded
(TriggerHistory history, StringBuilder sqlBuffer, TriggerRouterContext triggerRouterContext, boolean foundTable) fillTriggerRoutersByHistId
(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories) protected Map<Integer,
List<TriggerRouter>> fillTriggerRoutersByHistId
(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories, List<TriggerRouter> triggerRouters) fillTriggerRoutersByHistIdAndSortHist
(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories, boolean sortByFk) fillTriggerRoutersByHistIdAndSortHist
(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories, List<TriggerRouter> triggerRouters, boolean sortByFk) findTriggerHistories
(String catalogName, String schemaName, String tableName) findTriggerHistory
(String catalogName, String schemaName, String tableName) findTriggerRouterById
(String triggerId, String routerId) findTriggerRouterById
(String triggerId, String routerId, boolean refreshCache) findTriggerRoutersByRouterId
(String routerId, boolean refreshCache) findTriggerRoutersByTriggerId
(String triggerId, boolean refreshCache) protected void
fixMultipleActiveTriggerHistories
(TriggerRouterContext triggerRouterContext) getActiveRouterByIdForCurrentNode
(String routerId, boolean refreshCache) Get router that is currently in use by a trigger router at the node that is hosting this call.Get a list of trigger histories that are currently activegetActiveTriggerHistories
(String tableName) getActiveTriggerHistories
(Trigger trigger) getAllTriggerRoutersForCurrentNode
(String sourceNodeGroupId) getAllTriggerRoutersForReloadForCurrentNode
(String sourceNodeGroupId, String targetNodeGroupId) protected List<TriggerRouter>
getConfigurationTablesTriggerRoutersForCurrentNode
(String sourceNodeGroupId) Create a list ofTriggerRouter
for the SymmetricDS tables that should have triggers created for them on the current node.protected String
getFullyQualifiedTableName
(Table table) protected List<TriggerHistory>
getNewestTriggerHistoryForTrigger
(String triggerId, String catalogName, String schemaName, String tableName) getNewestTriggerHistoryForTrigger
(List<TriggerHistory> activeTriggerHistories, String triggerId, String catalogName, String schemaName, String tableName) getRouterById
(String routerId) getRouterById
(String routerId, boolean refreshCache) getRouters
(boolean replaceVariables) Get a list of routers for a specific node group link.getSortedTablesFor
(List<TriggerHistory> histories) protected TriggerHistory
getTableNotFoundTriggerHistory
(Trigger trigger) getTablesFor
(List<TriggerHistory> histories) getTablesForTrigger
(Trigger trigger, List<Trigger> triggers, boolean useTableCache, TriggerRouterContext triggerRouterContext) getTablesForTriggerWithException
(Trigger trigger, List<Trigger> triggers, boolean useTableCache, TriggerRouterContext triggerRouterContext) getTriggerById
(String triggerId) getTriggerById
(String triggerId, boolean refreshCache) getTriggerForCurrentNodeById
(String triggerId) protected Trigger
getTriggerFromList
(String triggerId, List<Trigger> triggersThatShouldBeActive) getTriggerHistory
(int histId) protected List<TriggerHistory>
getTriggerHistoryIds
(TriggerHistory triggerHistory) getTriggerIdsFrom
(List<Trigger> triggersThatShouldBeActive) getTriggerName
(DataEventType dml, int maxTriggerNameLength, Trigger trigger, Table table, List<TriggerHistory> activeTriggerHistories, TriggerHistory oldhist, List<String> triggerNamesGeneratedThisSession) getTriggerName
(DataEventType dml, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo) getTriggerRouterByTriggerHist
(String targetNodeGroupId, int triggerHistId, boolean refreshCache) getTriggerRouterForCurrentNode
(String triggerId, String routerId, boolean refreshCache) getTriggerRouterForTableForCurrentNode
(String catalogName, String schemaName, String tableName, boolean refreshCache) getTriggerRouterForTableForCurrentNode
(NodeGroupLink link, String catalogName, String schemaName, String tableName, boolean refreshCache) getTriggerRouters
(boolean refreshCache) getTriggerRoutersByChannel
(String nodeGroupId) getTriggerRoutersByChannel
(String nodeGroupId, boolean refreshCache) getTriggerRoutersByChannelFromDatabase
(String nodeGroupId) getTriggerRoutersByTriggerHist
(String targetNodeGroupId, boolean refreshCache) protected TriggerRouterRoutersCache
getTriggerRoutersCacheForCurrentNode
(boolean refreshCache) getTriggerRoutersForCurrentNode
(boolean refreshCache) Returns a map of trigger routers keyed by trigger id.getTriggerRoutersForSourceAndTargetNodes
(String sourceNodeGroupId, String targetNodeGroupId) getTriggerRoutersForTargetNode
(String targetNodeGroupId) protected int[]
protected Object[]
getTriggerRouterSqlValues
(TriggerRouter triggerRouter) Get a list of all the triggers that have been defined for the system.getTriggers
(boolean replaceTokens) getTriggersForCurrentNode
(boolean refreshCache) Returns a list of triggers that should be active for the current node.protected int[]
protected Object[]
getTriggerSqlValues
(Trigger trigger) protected void
handleTableNotFound
(Trigger trigger, List<TriggerHistory> activeTriggerHistories, TriggerRouterContext context) void
inactivateTriggerHistory
(TriggerHistory history) protected void
inactivateTriggers
(List<Trigger> triggersThatShouldBeActive, StringBuilder sqlBuffer, List<TriggerHistory> activeTriggerHistories, TriggerRouterContext triggerRouterContext) void
insert
(TriggerHistory newHistRecord) void
insertTriggerRouters
(Collection<TriggerRouter> triggerRouters) void
insertTriggers
(Collection<Trigger> triggers) void
insertTriggersAndTriggerRouters
(Collection<Trigger> triggers, Collection<TriggerRouter> triggerRouters) protected void
insertUpdateTriggerRouters
(Collection<TriggerRouter> triggerRouters, boolean isInsert, Collection<Trigger> triggers) protected void
insertUpdateTriggers
(Collection<Trigger> triggers, boolean isInsert) protected void
insertUpdateTriggers
(ISqlTransaction transaction, Collection<Trigger> triggers, boolean isInsert) protected void
invalidateTriggerHistory
(TriggerHistory history, Exception ex) protected boolean
protected boolean
protected boolean
isMatch
(NodeGroupLink link, TriggerRouter router) boolean
isRouterBeingUsed
(String routerId) boolean
isTriggerBeingUsed
(String triggerId) protected boolean
isTriggerNameInUse
(List<TriggerHistory> activeTriggerHistories, Trigger trigger, String triggerName, TriggerHistory oldhist, List<String> triggerNamesGeneratedThisSession) protected void
logTriggerRouterContextAnomalies
(TriggerRouterContext triggerRouterContext) protected void
logTriggerRouterContextTimings
(TriggerRouterContext triggerRouterContext) protected void
mergeInConfigurationTablesTriggerRoutersForCurrentNode
(String sourceNodeGroupId, List<TriggerRouter> configuredInDatabase) protected TriggerHistory
rebuildTriggerIfNecessary
(StringBuilder sqlBuffer, boolean forceRebuild, Trigger trigger, DataEventType dmlType, TriggerReBuildReason reason, TriggerHistory oldhist, TriggerHistory hist, boolean triggerIsActive, Table table, List<TriggerHistory> activeTriggerHistories, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo) protected TriggerHistory
rebuildTriggerIfNecessaryWithException
(StringBuilder sqlBuffer, boolean forceRebuild, Trigger trigger, DataEventType dmlType, TriggerReBuildReason reason, TriggerHistory oldhist, TriggerHistory hist, boolean triggerIsActive, Table table, List<TriggerHistory> activeTriggerHistories, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo) boolean
void
renameRouter
(String oldId, Router router) void
renameTrigger
(String oldId, Trigger trigger) void
renameTriggerRouter
(String oldTriggerId, String oldRouterId, TriggerRouter triggerRouter) protected void
void
saveRouter
(Router router) saveRouterAsCopy
(Router router) void
saveTrigger
(Trigger trigger) void
saveTriggerAsCopy
(String originalId, Trigger trigger) void
saveTriggerRouter
(TriggerRouter triggerRouter) void
saveTriggerRouter
(TriggerRouter triggerRouter, boolean updateTriggerRouterTableOnly) void
syncTrigger
(Trigger trigger, ITriggerCreationListener listener, boolean force) void
syncTrigger
(Trigger trigger, ITriggerCreationListener listener, boolean force, boolean verifyInDatabase) boolean
boolean
syncTriggers
(boolean force) boolean
syncTriggers
(StringBuilder sqlBuffer, boolean force) boolean
syncTriggers
(String targetExternalId, boolean force) boolean
syncTriggers
(List<Table> tables, boolean force) boolean
syncTriggers
(List<Trigger> triggers, ITriggerCreationListener listener, boolean force, boolean verifyInDatabase) boolean
syncTriggers
(Table table, boolean force) protected List<TriggerRouter>
toList
(Collection<List<TriggerRouter>> source) protected void
updateOrCreateDatabaseTrigger
(Trigger trigger, List<Trigger> triggers, StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories, boolean useTableCache, Map<String, List<org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo>> triggerToTableSupportingInfo, TriggerRouterContext context) protected void
updateOrCreateDatabaseTriggers
(List<Trigger> triggers, StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories, boolean useTableCache, TriggerRouterContext triggerRouterContext) protected void
updateOrCreateDatabaseTriggers
(Trigger trigger, Table table, StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo, TriggerRouterContext context) protected void
updateOrCreateDdlTriggers
(StringBuilder sqlBuffer) void
updateTriggerRouters
(Collection<TriggerRouter> triggerRouters) void
updateTriggers
(Collection<Trigger> triggers) Methods inherited from class org.jumpmind.symmetric.service.impl.AbstractService
assertNotNull, buildBatchOrderBy, buildBatchParams, buildBatchWhere, buildBatchWhereFromFilter, close, createSqlReplacementTokens, getJdbcTemplate, getParameterService, getSql, getSymmetricDialect, getTablePrefix, getTargetDialect, getTargetPlatform, getTargetPlatform, isCalledFromSymmetricAdminTool, isSet, isStreamClosedByClient, isSymmetricTable, logOnce, maxDate, readAcks, sendAck, setSqlMap, synchronize, toNodeIds, toNodeIds
-
Constructor Details
-
TriggerRouterService
-
-
Method Details
-
refreshFromDatabase
public boolean refreshFromDatabase()- Specified by:
refreshFromDatabase
in interfaceITriggerRouterService
-
getTriggers
Description copied from interface:ITriggerRouterService
Get a list of all the triggers that have been defined for the system.- Specified by:
getTriggers
in interfaceITriggerRouterService
-
getTriggers
- Specified by:
getTriggers
in interfaceITriggerRouterService
-
isTriggerBeingUsed
- Specified by:
isTriggerBeingUsed
in interfaceITriggerRouterService
-
doesTriggerExist
- Specified by:
doesTriggerExist
in interfaceITriggerRouterService
-
doesTriggerExistForTable
- Specified by:
doesTriggerExistForTable
in interfaceITriggerRouterService
-
doesTriggerExistForTable
-
deleteTrigger
- Specified by:
deleteTrigger
in interfaceITriggerRouterService
-
deleteTriggers
- Specified by:
deleteTriggers
in interfaceITriggerRouterService
-
deleteAllTriggers
public void deleteAllTriggers()- Specified by:
deleteAllTriggers
in interfaceITriggerRouterService
-
dropTriggers
public void dropTriggers()- Specified by:
dropTriggers
in interfaceITriggerRouterService
-
dropTriggers
public void dropTriggers(boolean includeSymTriggers) - Specified by:
dropTriggers
in interfaceITriggerRouterService
-
dropTriggers
- Specified by:
dropTriggers
in interfaceITriggerRouterService
-
deleteTriggerHistory
-
createTriggersOnChannelForTables
public void createTriggersOnChannelForTables(String channelId, String catalogName, String schemaName, List<String> tables, String lastUpdateBy) - Specified by:
createTriggersOnChannelForTables
in interfaceITriggerRouterService
-
findMatchingTriggers
public Collection<Trigger> findMatchingTriggers(List<Trigger> triggers, String catalog, String schema, String table) - Specified by:
findMatchingTriggers
in interfaceITriggerRouterService
-
invalidateTriggerHistory
-
inactivateTriggerHistory
- Specified by:
inactivateTriggerHistory
in interfaceITriggerRouterService
-
getHistoryRecords
- Specified by:
getHistoryRecords
in interfaceITriggerRouterService
-
isTriggerNameInUse
protected boolean isTriggerNameInUse(List<TriggerHistory> activeTriggerHistories, Trigger trigger, String triggerName, TriggerHistory oldhist, List<String> triggerNamesGeneratedThisSession) -
findTriggerHistory
- Specified by:
findTriggerHistory
in interfaceITriggerRouterService
-
findTriggerHistories
public List<TriggerHistory> findTriggerHistories(String catalogName, String schemaName, String tableName) - Specified by:
findTriggerHistories
in interfaceITriggerRouterService
-
getTriggerHistory
- Specified by:
getTriggerHistory
in interfaceITriggerRouterService
-
getActiveTriggerHistories
- Specified by:
getActiveTriggerHistories
in interfaceITriggerRouterService
-
getNewestTriggerHistoryForTrigger
public TriggerHistory getNewestTriggerHistoryForTrigger(List<TriggerHistory> activeTriggerHistories, String triggerId, String catalogName, String schemaName, String tableName) - Specified by:
getNewestTriggerHistoryForTrigger
in interfaceITriggerRouterService
-
getNewestTriggerHistoryForTrigger
public TriggerHistory getNewestTriggerHistoryForTrigger(String triggerId, String catalogName, String schemaName, String tableName) - Specified by:
getNewestTriggerHistoryForTrigger
in interfaceITriggerRouterService
-
getActiveTriggerHistoriesFromCache
- Specified by:
getActiveTriggerHistoriesFromCache
in interfaceITriggerRouterService
-
getActiveTriggerHistories
Get a list of trigger histories that are currently active- Specified by:
getActiveTriggerHistories
in interfaceITriggerRouterService
-
getLastErrorTriggerHistories
- Specified by:
getLastErrorTriggerHistories
in interfaceITriggerRouterService
-
getActiveTriggerHistories
- Specified by:
getActiveTriggerHistories
in interfaceITriggerRouterService
-
buildTriggersForSymmetricTables
- Specified by:
buildTriggersForSymmetricTables
in interfaceITriggerRouterService
-
buildTriggerForSymmetricTable
-
buildTriggerRoutersForSymmetricTables
public List<TriggerRouter> buildTriggerRoutersForSymmetricTables(String version, NodeGroupLink nodeGroupLink, String... tablesToExclude) Description copied from interface:ITriggerRouterService
Return a list of triggers used when extraction configuration data during the registration process.- Specified by:
buildTriggerRoutersForSymmetricTables
in interfaceITriggerRouterService
-
buildSymmetricTableRouterId
public String buildSymmetricTableRouterId(String triggerId, String sourceNodeGroupId, String targetNodeGroupId) - Specified by:
buildSymmetricTableRouterId
in interfaceITriggerRouterService
-
buildTriggerRoutersForSymmetricTables
protected TriggerRouter buildTriggerRoutersForSymmetricTables(String version, Trigger trigger, NodeGroupLink nodeGroupLink) -
getTriggerRouterForTableForCurrentNode
public Set<TriggerRouter> getTriggerRouterForTableForCurrentNode(String catalogName, String schemaName, String tableName, boolean refreshCache) - Specified by:
getTriggerRouterForTableForCurrentNode
in interfaceITriggerRouterService
-
getTriggerRouterForTableForCurrentNode
public Set<TriggerRouter> getTriggerRouterForTableForCurrentNode(NodeGroupLink link, String catalogName, String schemaName, String tableName, boolean refreshCache) - Specified by:
getTriggerRouterForTableForCurrentNode
in interfaceITriggerRouterService
-
isMatch
-
isMatch
-
getConfigurationTablesTriggerRoutersForCurrentNode
protected List<TriggerRouter> getConfigurationTablesTriggerRoutersForCurrentNode(String sourceNodeGroupId) Create a list ofTriggerRouter
for the SymmetricDS tables that should have triggers created for them on the current node. -
mergeInConfigurationTablesTriggerRoutersForCurrentNode
protected void mergeInConfigurationTablesTriggerRoutersForCurrentNode(String sourceNodeGroupId, List<TriggerRouter> configuredInDatabase) -
doesTriggerRouterExistInList
protected boolean doesTriggerRouterExistInList(List<TriggerRouter> triggerRouters, TriggerRouter triggerRouter) -
getTriggerRouterForCurrentNode
public TriggerRouter getTriggerRouterForCurrentNode(String triggerId, String routerId, boolean refreshCache) - Specified by:
getTriggerRouterForCurrentNode
in interfaceITriggerRouterService
-
getTriggerRoutersForCurrentNode
Description copied from interface:ITriggerRouterService
Returns a map of trigger routers keyed by trigger id.- Specified by:
getTriggerRoutersForCurrentNode
in interfaceITriggerRouterService
- Parameters:
refreshCache
- Indicates that the cache should be refreshed
-
getTriggersForCurrentNode
Description copied from interface:ITriggerRouterService
Returns a list of triggers that should be active for the current node.- Specified by:
getTriggersForCurrentNode
in interfaceITriggerRouterService
- Parameters:
refreshCache
- Indicates that the cache should be refreshed
-
getTriggerRouterByTriggerHist
public TriggerRouter getTriggerRouterByTriggerHist(String targetNodeGroupId, int triggerHistId, boolean refreshCache) - Specified by:
getTriggerRouterByTriggerHist
in interfaceITriggerRouterService
-
getTriggerRoutersByTriggerHist
public Map<Integer,TriggerRouter> getTriggerRoutersByTriggerHist(String targetNodeGroupId, boolean refreshCache) - Specified by:
getTriggerRoutersByTriggerHist
in interfaceITriggerRouterService
-
getTriggerRoutersByTriggerHistFromDatabase
- Specified by:
getTriggerRoutersByTriggerHistFromDatabase
in interfaceITriggerRouterService
-
getTriggerRoutersCacheForCurrentNode
-
getTriggerRoutersCacheByNodeGroupIdFromDatabase
- Specified by:
getTriggerRoutersCacheByNodeGroupIdFromDatabase
in interfaceITriggerRouterService
-
getActiveRouterByIdForCurrentNode
Description copied from interface:ITriggerRouterService
Get router that is currently in use by a trigger router at the node that is hosting this call.- Specified by:
getActiveRouterByIdForCurrentNode
in interfaceITriggerRouterService
- Parameters:
routerId
- The router_id to retrieverefreshCache
- Whether to force the router to be re-retrieved from the database- See Also:
-
getRoutersByGroupLink
Description copied from interface:ITriggerRouterService
Get a list of routers for a specific node group link.- Specified by:
getRoutersByGroupLink
in interfaceITriggerRouterService
- See Also:
-
getTriggerForCurrentNodeById
- Specified by:
getTriggerForCurrentNodeById
in interfaceITriggerRouterService
-
getTriggerById
- Specified by:
getTriggerById
in interfaceITriggerRouterService
-
getTriggerById
- Specified by:
getTriggerById
in interfaceITriggerRouterService
-
getRouterById
- Specified by:
getRouterById
in interfaceITriggerRouterService
-
getRouterById
- Specified by:
getRouterById
in interfaceITriggerRouterService
-
getRouters
- Specified by:
getRouters
in interfaceITriggerRouterService
-
getRouters
- Specified by:
getRouters
in interfaceITriggerRouterService
-
getTriggerRouters
- Specified by:
getTriggerRouters
in interfaceITriggerRouterService
-
getTriggerRoutersFromDatabase
- Specified by:
getTriggerRoutersFromDatabase
in interfaceITriggerRouterService
-
getAllTriggerRoutersForCurrentNode
- Specified by:
getAllTriggerRoutersForCurrentNode
in interfaceITriggerRouterService
-
getTriggerRoutersForTargetNode
- Specified by:
getTriggerRoutersForTargetNode
in interfaceITriggerRouterService
-
getTriggerRoutersForSourceAndTargetNodes
public List<TriggerRouter> getTriggerRoutersForSourceAndTargetNodes(String sourceNodeGroupId, String targetNodeGroupId) - Specified by:
getTriggerRoutersForSourceAndTargetNodes
in interfaceITriggerRouterService
-
getAllTriggerRoutersForReloadForCurrentNode
public List<TriggerRouter> getAllTriggerRoutersForReloadForCurrentNode(String sourceNodeGroupId, String targetNodeGroupId) - Specified by:
getAllTriggerRoutersForReloadForCurrentNode
in interfaceITriggerRouterService
-
findTriggerRouterById
- Specified by:
findTriggerRouterById
in interfaceITriggerRouterService
-
findTriggerRouterById
- Specified by:
findTriggerRouterById
in interfaceITriggerRouterService
-
findTriggerRoutersByTriggerId
- Specified by:
findTriggerRoutersByTriggerId
in interfaceITriggerRouterService
-
findTriggerRoutersByRouterId
- Specified by:
findTriggerRoutersByRouterId
in interfaceITriggerRouterService
-
getTriggerRoutersByChannel
- Specified by:
getTriggerRoutersByChannel
in interfaceITriggerRouterService
-
getTriggerRoutersByChannel
public Map<String,List<TriggerRouter>> getTriggerRoutersByChannel(String nodeGroupId, boolean refreshCache) -
getTriggerRoutersByChannelFromDatabase
- Specified by:
getTriggerRoutersByChannelFromDatabase
in interfaceITriggerRouterService
-
handleTableNotFound
protected void handleTableNotFound(Trigger trigger, List<TriggerHistory> activeTriggerHistories, TriggerRouterContext context) -
getTableNotFoundTriggerHistory
-
insert
- Specified by:
insert
in interfaceITriggerRouterService
-
deleteTriggerRouter
- Specified by:
deleteTriggerRouter
in interfaceITriggerRouterService
-
deleteTriggerRouter
- Specified by:
deleteTriggerRouter
in interfaceITriggerRouterService
-
deleteTriggerRouters
- Specified by:
deleteTriggerRouters
in interfaceITriggerRouterService
-
deleteTriggerRouters
protected void deleteTriggerRouters(ISqlTransaction transaction, Collection<TriggerRouter> triggerRouters) -
deleteAllTriggerRouters
public void deleteAllTriggerRouters()- Specified by:
deleteAllTriggerRouters
in interfaceITriggerRouterService
-
saveTriggerRouter
- Specified by:
saveTriggerRouter
in interfaceITriggerRouterService
-
saveTriggerRouter
- Specified by:
saveTriggerRouter
in interfaceITriggerRouterService
-
renameTriggerRouter
public void renameTriggerRouter(String oldTriggerId, String oldRouterId, TriggerRouter triggerRouter) - Specified by:
renameTriggerRouter
in interfaceITriggerRouterService
-
insertTriggerRouters
- Specified by:
insertTriggerRouters
in interfaceITriggerRouterService
-
insertTriggersAndTriggerRouters
public void insertTriggersAndTriggerRouters(Collection<Trigger> triggers, Collection<TriggerRouter> triggerRouters) - Specified by:
insertTriggersAndTriggerRouters
in interfaceITriggerRouterService
-
updateTriggerRouters
- Specified by:
updateTriggerRouters
in interfaceITriggerRouterService
-
insertUpdateTriggerRouters
protected void insertUpdateTriggerRouters(Collection<TriggerRouter> triggerRouters, boolean isInsert, Collection<Trigger> triggers) -
getTriggerRouterSqlTypes
protected int[] getTriggerRouterSqlTypes() -
getTriggerRouterSqlValues
-
resetTriggerRouterCacheByNodeGroupId
protected void resetTriggerRouterCacheByNodeGroupId() -
saveRouter
- Specified by:
saveRouter
in interfaceITriggerRouterService
-
saveRouterAsCopy
- Specified by:
saveRouterAsCopy
in interfaceITriggerRouterService
-
renameRouter
- Specified by:
renameRouter
in interfaceITriggerRouterService
-
isRouterBeingUsed
- Specified by:
isRouterBeingUsed
in interfaceITriggerRouterService
-
deleteRouter
- Specified by:
deleteRouter
in interfaceITriggerRouterService
-
deleteAllRouters
public void deleteAllRouters()- Specified by:
deleteAllRouters
in interfaceITriggerRouterService
-
saveTrigger
- Specified by:
saveTrigger
in interfaceITriggerRouterService
-
saveTriggerAsCopy
- Specified by:
saveTriggerAsCopy
in interfaceITriggerRouterService
-
renameTrigger
- Specified by:
renameTrigger
in interfaceITriggerRouterService
-
insertTriggers
- Specified by:
insertTriggers
in interfaceITriggerRouterService
-
updateTriggers
- Specified by:
updateTriggers
in interfaceITriggerRouterService
-
insertUpdateTriggers
-
insertUpdateTriggers
protected void insertUpdateTriggers(ISqlTransaction transaction, Collection<Trigger> triggers, boolean isInsert) -
getTriggerSqlTypes
protected int[] getTriggerSqlTypes() -
getTriggerSqlValues
-
syncTriggers
public boolean syncTriggers()- Specified by:
syncTriggers
in interfaceITriggerRouterService
-
syncTriggers
public boolean syncTriggers(boolean force) - Specified by:
syncTriggers
in interfaceITriggerRouterService
-
syncTriggers
- Specified by:
syncTriggers
in interfaceITriggerRouterService
-
clearCache
public void clearCache()- Specified by:
clearCache
in interfaceITriggerRouterService
-
getTriggerIdsFrom
-
getTriggerFromList
-
inactivateTriggers
protected void inactivateTriggers(List<Trigger> triggersThatShouldBeActive, StringBuilder sqlBuffer, List<TriggerHistory> activeTriggerHistories, TriggerRouterContext triggerRouterContext) -
isEqual
-
dropTriggersIfNeeded
protected void dropTriggersIfNeeded(TriggerHistory history, StringBuilder sqlBuffer, TriggerRouterContext triggerRouterContext, boolean foundTable) -
dropTriggers
- Specified by:
dropTriggers
in interfaceITriggerRouterService
-
dropTriggers
-
dropTriggers
protected void dropTriggers(TriggerHistory history, StringBuilder sqlBuffer, TriggerRouterContext context) -
dropTrigger
protected void dropTrigger(StringBuilder sqlBuffer, String catalog, String schema, String triggerName, String tableName) -
toList
-
getTriggersForCurrentNode
-
getTablesForTrigger
-
getTablesForTriggerWithException
-
syncTriggers
- Specified by:
syncTriggers
in interfaceITriggerRouterService
-
syncTriggers
- Specified by:
syncTriggers
in interfaceITriggerRouterService
-
syncTriggers
- Specified by:
syncTriggers
in interfaceITriggerRouterService
-
getFullyQualifiedTableName
-
updateOrCreateDdlTriggers
-
updateOrCreateDatabaseTriggers
protected void updateOrCreateDatabaseTriggers(List<Trigger> triggers, StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories, boolean useTableCache, TriggerRouterContext triggerRouterContext) -
updateOrCreateDatabaseTrigger
protected void updateOrCreateDatabaseTrigger(Trigger trigger, List<Trigger> triggers, StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories, boolean useTableCache, Map<String, List<org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo>> triggerToTableSupportingInfo, TriggerRouterContext context) -
syncTrigger
- Specified by:
syncTrigger
in interfaceITriggerRouterService
-
syncTrigger
public void syncTrigger(Trigger trigger, ITriggerCreationListener listener, boolean force, boolean verifyInDatabase) - Specified by:
syncTrigger
in interfaceITriggerRouterService
-
syncTriggers
public boolean syncTriggers(List<Trigger> triggers, ITriggerCreationListener listener, boolean force, boolean verifyInDatabase) - Specified by:
syncTriggers
in interfaceITriggerRouterService
-
updateOrCreateDatabaseTriggers
protected void updateOrCreateDatabaseTriggers(Trigger trigger, Table table, StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo, TriggerRouterContext context) -
rebuildTriggerIfNecessary
protected TriggerHistory rebuildTriggerIfNecessary(StringBuilder sqlBuffer, boolean forceRebuild, Trigger trigger, DataEventType dmlType, TriggerReBuildReason reason, TriggerHistory oldhist, TriggerHistory hist, boolean triggerIsActive, Table table, List<TriggerHistory> activeTriggerHistories, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo) -
rebuildTriggerIfNecessaryWithException
protected TriggerHistory rebuildTriggerIfNecessaryWithException(StringBuilder sqlBuffer, boolean forceRebuild, Trigger trigger, DataEventType dmlType, TriggerReBuildReason reason, TriggerHistory oldhist, TriggerHistory hist, boolean triggerIsActive, Table table, List<TriggerHistory> activeTriggerHistories, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo) -
getTriggerName
public String getTriggerName(DataEventType dml, int maxTriggerNameLength, Trigger trigger, Table table, List<TriggerHistory> activeTriggerHistories, TriggerHistory oldhist, List<String> triggerNamesGeneratedThisSession) - Specified by:
getTriggerName
in interfaceITriggerRouterService
-
getTriggerName
public String getTriggerName(DataEventType dml, org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerTableSupportingInfo triggerTableSupportingInfo) -
getFailedTriggers
- Specified by:
getFailedTriggers
in interfaceITriggerRouterService
-
findTriggerHistoryForGenericSync
- Specified by:
findTriggerHistoryForGenericSync
in interfaceITriggerRouterService
-
fillTriggerRoutersByHistIdAndSortHist
public Map<Integer,List<TriggerRouter>> fillTriggerRoutersByHistIdAndSortHist(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories, boolean sortByFk) - Specified by:
fillTriggerRoutersByHistIdAndSortHist
in interfaceITriggerRouterService
-
fillTriggerRoutersByHistIdAndSortHist
public Map<Integer,List<TriggerRouter>> fillTriggerRoutersByHistIdAndSortHist(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories, List<TriggerRouter> triggerRouters, boolean sortByFk) - Specified by:
fillTriggerRoutersByHistIdAndSortHist
in interfaceITriggerRouterService
-
fillTriggerRoutersByHistId
public Map<Integer,List<TriggerRouter>> fillTriggerRoutersByHistId(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories) - Specified by:
fillTriggerRoutersByHistId
in interfaceITriggerRouterService
-
fillTriggerRoutersByHistId
protected Map<Integer,List<TriggerRouter>> fillTriggerRoutersByHistId(String sourceNodeGroupId, String targetNodeGroupId, String targetExternalId, List<TriggerHistory> triggerHistories, List<TriggerRouter> triggerRouters) -
getSortedTablesFor
- Specified by:
getSortedTablesFor
in interfaceITriggerRouterService
-
getTablesFor
- Specified by:
getTablesFor
in interfaceITriggerRouterService
-
awaitTermination
-
fixMultipleActiveTriggerHistories
-
getMultipleActiveTriggerHistories
-
getTriggerHistoryIds
-
logTriggerRouterContextAnomalies
-
logTriggerRouterContextTimings
-