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
extensionService
Fields inherited from class org.jumpmind.symmetric.service.impl.AbstractService
log, parameterService, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
acknowledgeFiles
(OutgoingBatch outgoingBatch) protected boolean
checkSourceDir
(FileTriggerRouter fileTriggerRouter) void
void
void
void
deleteFileTrigger
(FileTrigger fileTrigger) void
deleteFileTriggerRouter
(String triggerId, String routerId) void
deleteFileTriggerRouter
(FileTriggerRouter fileTriggerRouter) protected void
void
execute
(NodeCommunication nodeCommunication, RemoteNodeStatus status) protected String
findSourceNodeIdFromFileIncoming
(String filePath, String fileName, long lastUpdateDate) protected List<OutgoingBatch>
getBatchesToProcess
(Node targetNode) getControleFile
(File file) getDirectorySnapshot
(FileTriggerRouter fileTriggerRouter) getDirectorySnapshot
(FileTriggerRouter fileTriggerRouter, String relativeDir) protected String
getEffectiveBaseDir
(String baseDir) getFileTrigger
(String triggerId) getFileTriggerRouter
(String triggerId, String routerId, boolean refreshCache) getFileTriggerRouters
(boolean refreshCache) getFileTriggerRoutersForCurrentNode
(boolean refreshCache) protected IStagedResource
getStagedResource
(OutgoingBatch currentBatch) Object[]
getStagingPathComponents
(OutgoingBatch fileSyncBatch) void
loadFilesFromPush
(String nodeId, InputStream in, OutputStream out) protected List<IncomingBatch>
processZip
(InputStream is, String sourceNodeId, ProcessInfo processInfo) protected void
pullFilesFromNode
(NodeCommunication nodeCommunication, RemoteNodeStatus status, Node identity, NodeSecurity security) pullFilesFromNodes
(boolean force) protected void
pushFilesToNode
(NodeCommunication nodeCommunication, RemoteNodeStatus status, Node identity, NodeSecurity security) pushFilesToNodes
(boolean force) protected RemoteNodeStatuses
queueJob
(boolean force, long minimumPeriodMs, String clusterLock, NodeCommunication.CommunicationType type) boolean
void
renameFileTrigger
(String oldId, FileTrigger fileTrigger) void
renameFileTriggerRouter
(String oldTriggerId, String oldRouterId, FileTriggerRouter fileTriggerRouter) void
save
(List<FileSnapshot> changes) void
save
(List<FileSnapshot> changes, boolean shouldIgnore) void
save
(ISqlTransaction sqlTransaction, FileSnapshot snapshot) protected long
saveDirectorySnapshot
(FileTriggerRouter fileTriggerRouter, DirectorySnapshot dirSnapshot, boolean shouldIgnore) void
saveFileTrigger
(FileTrigger fileTrigger) void
saveFileTriggerAsCopy
(String originalId, FileTrigger fileTrigger) void
saveFileTriggerRouter
(FileTriggerRouter fileTriggerRouter) sendFiles
(ProcessInfo processInfo, Node targetNode, IOutgoingTransport outgoingTransport) protected void
setInterpreterVariables
(ISymmetricEngine engine, String sourceNodeId, File batchDir, bsh.Interpreter interpreter) protected boolean
shouldIgnoreInitialFiles
(FileTriggerRouter router, FileTrigger trigger, Date contextDate) void
trackChanges
(boolean force) protected void
trackChanges
(ProcessInfo processInfo, boolean useCrc) protected void
trackChangesFastScan
(ProcessInfo processInfo, boolean useCrc) protected void
updateFileIncoming
(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, shouldLogTransportError
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
-
FileSyncService
-
-
Method Details
-
refreshFromDatabase
public boolean refreshFromDatabase()- Specified by:
refreshFromDatabase
in interfaceIFileSyncService
-
trackChanges
public void trackChanges(boolean force) - Specified by:
trackChanges
in 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:
getFileTriggers
in interfaceIFileSyncService
-
getFileTrigger
- Specified by:
getFileTrigger
in interfaceIFileSyncService
-
getFileTriggerRoutersForCurrentNode
- Specified by:
getFileTriggerRoutersForCurrentNode
in interfaceIFileSyncService
-
getFileTriggerRouters
- Specified by:
getFileTriggerRouters
in interfaceIFileSyncService
-
getFileTriggerRoutersFromDb
- Specified by:
getFileTriggerRoutersFromDb
in interfaceIFileSyncService
-
getFileTriggerRouter
public FileTriggerRouter getFileTriggerRouter(String triggerId, String routerId, boolean refreshCache) - Specified by:
getFileTriggerRouter
in interfaceIFileSyncService
-
clearCache
public void clearCache()- Specified by:
clearCache
in interfaceIFileSyncService
-
saveFileTrigger
- Specified by:
saveFileTrigger
in interfaceIFileSyncService
-
saveFileTriggerAsCopy
- Specified by:
saveFileTriggerAsCopy
in interfaceIFileSyncService
-
renameFileTrigger
- Specified by:
renameFileTrigger
in interfaceIFileSyncService
-
saveFileTriggerRouter
- Specified by:
saveFileTriggerRouter
in interfaceIFileSyncService
-
renameFileTriggerRouter
public void renameFileTriggerRouter(String oldTriggerId, String oldRouterId, FileTriggerRouter fileTriggerRouter) - Specified by:
renameFileTriggerRouter
in interfaceIFileSyncService
-
deleteFileTriggerRouter
- Specified by:
deleteFileTriggerRouter
in interfaceIFileSyncService
-
deleteAllFileTriggerRouters
public void deleteAllFileTriggerRouters()- Specified by:
deleteAllFileTriggerRouters
in interfaceIFileSyncService
-
deleteFileTriggerRouter
- Specified by:
deleteFileTriggerRouter
in interfaceIFileSyncService
-
deleteFileTrigger
- Specified by:
deleteFileTrigger
in interfaceIFileSyncService
-
deleteAllFileTriggers
public void deleteAllFileTriggers()- Specified by:
deleteAllFileTriggers
in interfaceIFileSyncService
-
getDirectorySnapshot
- Specified by:
getDirectorySnapshot
in interfaceIFileSyncService
-
getDirectorySnapshot
public DirectorySnapshot getDirectorySnapshot(FileTriggerRouter fileTriggerRouter, String relativeDir) -
save
-
save
-
pullFilesFromNodes
- Specified by:
pullFilesFromNodes
in interfaceIFileSyncService
-
pushFilesToNodes
- Specified by:
pushFilesToNodes
in interfaceIFileSyncService
-
getStagingPathComponents
- Specified by:
getStagingPathComponents
in interfaceIFileSyncService
-
sendFiles
public List<OutgoingBatch> sendFiles(ProcessInfo processInfo, Node targetNode, IOutgoingTransport outgoingTransport) - Specified by:
sendFiles
in interfaceIFileSyncService
-
getBatchesToProcess
-
acknowledgeFiles
- Specified by:
acknowledgeFiles
in interfaceIFileSyncService
-
loadFilesFromPush
- Specified by:
loadFilesFromPush
in interfaceIFileSyncService
-
getStagedResource
-
execute
- Specified by:
execute
in 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:
getControleFile
in interfaceIFileSyncService
-
save
- Specified by:
save
in interfaceIFileSyncService
-