private TransferManager createTransferManager(TransferManager loadedTransferManager) throws StorageException { if (loadedTransferManager != null) { return loadedTransferManager; } else { return TransferManagerFactory .build(config) .withFeature(PathAware.class) .asDefault(); } }
public AbstractTransferOperation(Config config, String operationName) { super(config); this.eventBus = LocalEventBus.getInstance(); try { // Do NOT reuse TransferManager for action file renewal; see #140 TransferManager actionFileTransferManager = TransferManagerFactory .build(config) .withFeature(ReadAfterWriteConsistent.class) .withFeature(Retriable.class) .asDefault(); TransactionAwareFeatureTransferManager regularFileTransferManager = TransferManagerFactory .build(config) .withFeature(ReadAfterWriteConsistent.class) .withFeature(Retriable.class) .withFeature(PathAware.class) .withFeature(TransactionAware.class) .as(TransactionAware.class); this.actionHandler = new ActionFileHandler(actionFileTransferManager, operationName, config.getMachineName()); this.transferManager = regularFileTransferManager; } catch (StorageException e) { logger.log(Level.SEVERE, "Unable to create AbstractTransferOperation: Unable to create TransferManager", e); throw new RuntimeException("Unable to create AbstractTransferOperation: Unable to create TransferManager: " + e.getMessage()); } }