Class FileSyncService
java.lang.Object
org.jumpmind.symmetric.service.impl.AbstractService
org.jumpmind.symmetric.service.impl.AbstractOfflineDetectorService
org.jumpmind.symmetric.service.impl.FileSyncService
- All Implemented Interfaces:
IFileSyncService,INodeCommunicationService.INodeCommunicationExecutor,IOfflineDetectorService,IService
public class FileSyncService
extends AbstractOfflineDetectorService
implements IFileSyncService, INodeCommunicationService.INodeCommunicationExecutor
-
Field Summary
Fields inherited from class org.jumpmind.symmetric.service.impl.AbstractOfflineDetectorService
extensionServiceFields inherited from class org.jumpmind.symmetric.service.impl.AbstractService
log, parameterService, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeFiles(OutgoingBatch outgoingBatch) protected booleancheckSourceDir(FileTriggerRouter fileTriggerRouter) voidvoidvoidvoiddeleteFileTrigger(FileTrigger fileTrigger) voiddeleteFileTriggerRouter(String triggerId, String routerId) voiddeleteFileTriggerRouter(FileTriggerRouter fileTriggerRouter) protected voidvoidexecute(NodeCommunication nodeCommunication, RemoteNodeStatus status) protected StringfindSourceNodeIdFromFileIncoming(String filePath, String fileName, long lastUpdateDate) protected List<OutgoingBatch>getBatchesToProcess(Node targetNode) getControleFile(File file) getDirectorySnapshot(FileTriggerRouter fileTriggerRouter) getDirectorySnapshot(FileTriggerRouter fileTriggerRouter, String relativeDir) protected StringgetEffectiveBaseDir(String baseDir) getFileTrigger(String triggerId) getFileTriggerRouter(String triggerId, String routerId, boolean refreshCache) getFileTriggerRouters(boolean refreshCache) getFileTriggerRoutersForCurrentNode(boolean refreshCache) protected IStagedResourcegetStagedResource(OutgoingBatch currentBatch) Object[]getStagingPathComponents(OutgoingBatch fileSyncBatch) voidloadFilesFromPush(String nodeId, InputStream in, OutputStream out) protected List<IncomingBatch>processZip(InputStream is, String sourceNodeId, ProcessInfo processInfo) protected voidpullFilesFromNode(NodeCommunication nodeCommunication, RemoteNodeStatus status, Node identity, NodeSecurity security) pullFilesFromNodes(boolean force) protected voidpushFilesToNode(NodeCommunication nodeCommunication, RemoteNodeStatus status, Node identity, NodeSecurity security) pushFilesToNodes(boolean force) protected RemoteNodeStatusesqueueJob(boolean force, long minimumPeriodMs, String clusterLock, NodeCommunication.CommunicationType type) booleanvoidrenameFileTrigger(String oldId, FileTrigger fileTrigger) voidrenameFileTriggerRouter(String oldTriggerId, String oldRouterId, FileTriggerRouter fileTriggerRouter) voidsave(List<FileSnapshot> changes) voidsave(List<FileSnapshot> changes, boolean shouldIgnore) voidsave(ISqlTransaction sqlTransaction, FileSnapshot snapshot) protected longsaveDirectorySnapshot(FileTriggerRouter fileTriggerRouter, DirectorySnapshot dirSnapshot, boolean shouldIgnore) voidsaveFileTrigger(FileTrigger fileTrigger) voidsaveFileTriggerAsCopy(String originalId, FileTrigger fileTrigger) voidsaveFileTriggerRouter(FileTriggerRouter fileTriggerRouter) sendFiles(ProcessInfo processInfo, Node targetNode, IOutgoingTransport outgoingTransport) protected voidsetInterpreterVariables(ISymmetricEngine engine, String sourceNodeId, File batchDir, bsh.Interpreter interpreter) protected booleanshouldIgnoreInitialFiles(FileTriggerRouter router, FileTrigger trigger, Date contextDate) voidtrackChanges(boolean force) protected voidtrackChanges(ProcessInfo processInfo, boolean useCrc) protected voidtrackChangesFastScan(ProcessInfo processInfo, boolean useCrc) protected voidupdateFileIncoming(String nodeId, Map<String, String> filesToEventType) Methods inherited from class org.jumpmind.symmetric.service.impl.AbstractOfflineDetectorService
fireOffline, fireOnline, getExceptionMessage, getHttpException, is, isAuthenticationExpired, isBusy, isDuplicateConnection, isInitialLoadPending, isNoReservation, isNotAuthenticated, isOffline, isRegistrationNotOpen, isRegistrationPending, isRegistrationRequired, isServiceNotReady, isServiceUnavailable, isSyncDisabled, logTransportMessage, shouldLogTransportErrorMethods 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
-
FileSyncService
-
-
Method Details
-
refreshFromDatabase
public boolean refreshFromDatabase()- Specified by:
refreshFromDatabasein interfaceIFileSyncService
-
trackChanges
public void trackChanges(boolean force) - Specified by:
trackChangesin interfaceIFileSyncService
-
trackChanges
-
trackChangesFastScan
-
checkSourceDir
-
shouldIgnoreInitialFiles
protected boolean shouldIgnoreInitialFiles(FileTriggerRouter router, FileTrigger trigger, Date contextDate) -
saveDirectorySnapshot
protected long saveDirectorySnapshot(FileTriggerRouter fileTriggerRouter, DirectorySnapshot dirSnapshot, boolean shouldIgnore) -
findSourceNodeIdFromFileIncoming
-
deleteFromFileIncoming
protected void deleteFromFileIncoming() -
getFileTriggers
- Specified by:
getFileTriggersin interfaceIFileSyncService
-
getFileTrigger
- Specified by:
getFileTriggerin interfaceIFileSyncService
-
getFileTriggerRoutersForCurrentNode
- Specified by:
getFileTriggerRoutersForCurrentNodein interfaceIFileSyncService
-
getFileTriggerRouters
- Specified by:
getFileTriggerRoutersin interfaceIFileSyncService
-
getFileTriggerRoutersFromDb
- Specified by:
getFileTriggerRoutersFromDbin interfaceIFileSyncService
-
getFileTriggerRouter
public FileTriggerRouter getFileTriggerRouter(String triggerId, String routerId, boolean refreshCache) - Specified by:
getFileTriggerRouterin interfaceIFileSyncService
-
clearCache
public void clearCache()- Specified by:
clearCachein interfaceIFileSyncService
-
saveFileTrigger
- Specified by:
saveFileTriggerin interfaceIFileSyncService
-
saveFileTriggerAsCopy
- Specified by:
saveFileTriggerAsCopyin interfaceIFileSyncService
-
renameFileTrigger
- Specified by:
renameFileTriggerin interfaceIFileSyncService
-
saveFileTriggerRouter
- Specified by:
saveFileTriggerRouterin interfaceIFileSyncService
-
renameFileTriggerRouter
public void renameFileTriggerRouter(String oldTriggerId, String oldRouterId, FileTriggerRouter fileTriggerRouter) - Specified by:
renameFileTriggerRouterin interfaceIFileSyncService
-
deleteFileTriggerRouter
- Specified by:
deleteFileTriggerRouterin interfaceIFileSyncService
-
deleteAllFileTriggerRouters
public void deleteAllFileTriggerRouters()- Specified by:
deleteAllFileTriggerRoutersin interfaceIFileSyncService
-
deleteFileTriggerRouter
- Specified by:
deleteFileTriggerRouterin interfaceIFileSyncService
-
deleteFileTrigger
- Specified by:
deleteFileTriggerin interfaceIFileSyncService
-
deleteAllFileTriggers
public void deleteAllFileTriggers()- Specified by:
deleteAllFileTriggersin interfaceIFileSyncService
-
getDirectorySnapshot
- Specified by:
getDirectorySnapshotin interfaceIFileSyncService
-
getDirectorySnapshot
public DirectorySnapshot getDirectorySnapshot(FileTriggerRouter fileTriggerRouter, String relativeDir) -
save
-
save
-
pullFilesFromNodes
- Specified by:
pullFilesFromNodesin interfaceIFileSyncService
-
pushFilesToNodes
- Specified by:
pushFilesToNodesin interfaceIFileSyncService
-
getStagingPathComponents
- Specified by:
getStagingPathComponentsin interfaceIFileSyncService
-
sendFiles
public List<OutgoingBatch> sendFiles(ProcessInfo processInfo, Node targetNode, IOutgoingTransport outgoingTransport) - Specified by:
sendFilesin interfaceIFileSyncService
-
getBatchesToProcess
-
acknowledgeFiles
- Specified by:
acknowledgeFilesin interfaceIFileSyncService
-
loadFilesFromPush
- Specified by:
loadFilesFromPushin interfaceIFileSyncService
-
getStagedResource
-
execute
- Specified by:
executein interfaceINodeCommunicationService.INodeCommunicationExecutor
-
pushFilesToNode
protected void pushFilesToNode(NodeCommunication nodeCommunication, RemoteNodeStatus status, Node identity, NodeSecurity security) -
processZip
protected List<IncomingBatch> processZip(InputStream is, String sourceNodeId, ProcessInfo processInfo) throws IOException - Throws:
IOException
-
setInterpreterVariables
protected void setInterpreterVariables(ISymmetricEngine engine, String sourceNodeId, File batchDir, bsh.Interpreter interpreter) throws bsh.EvalError - Throws:
bsh.EvalError
-
updateFileIncoming
-
pullFilesFromNode
protected void pullFilesFromNode(NodeCommunication nodeCommunication, RemoteNodeStatus status, Node identity, NodeSecurity security) -
queueJob
protected RemoteNodeStatuses queueJob(boolean force, long minimumPeriodMs, String clusterLock, NodeCommunication.CommunicationType type) -
getEffectiveBaseDir
-
getControleFile
- Specified by:
getControleFilein interfaceIFileSyncService
-
save
- Specified by:
savein interfaceIFileSyncService
-