Interface TransferService2
- All Known Implementing Classes:
TransferServiceImpl2
public interface TransferService2
The transfer service is responsible for transferring nodes between one instance of Alfresco and another remote instance.
as well as the transfer method, this interface also provides methods for managing transfer targets.
- Author:
- davidc
-
Method Summary
Modifier and TypeMethodDescriptionvoidcancelAsync(String transferId) Asynchronously cancel an in-progress transfer This method tells an in-process transfer to give up, rollback and stop as soon as possible.createAndSaveTransferTarget(String name, String title, String description, String endpointProtocol, String endpointHost, int endpointPort, String endpointPath, String username, char[] password) Create and save a new transfer target.createTransferTarget(String name) Creates an in memory transfer target.voiddeleteTransferTarget(String name) Delete a transfer target.voidenableTransferTarget(String name, boolean enable) Enables/Disables the named transfer targetgetTransferTarget(String name) Get a transfer target by its nameGet all the transfer targetsgetTransferTargets(String groupName) Get All the transfer targets for a particular transfer target group.saveTransferTarget(TransferTarget update) Save TransferTarget, will create a transfer target if it does not already exist or update an existing transfer target.booleantargetExists(String name) Test to see if the target with the specified name existstransfer(String targetName, TransferDefinition definition, Collection<TransferCallback> callback) Transfer nodes sync, with callback.transfer(String targetName, TransferDefinition definition, TransferCallback... callbacks) Transfer nodes sync, with callback.voidtransferAsync(String targetName, TransferDefinition definition, Collection<TransferCallback> callback) Transfer nodes async with callback.voidtransferAsync(String targetName, TransferDefinition definition, TransferCallback... callbacks) Transfer nodes async with callback.voidverify(TransferTarget target) Verify a target is available and that the configured credentials are valid.
-
Method Details
-
transfer
@Auditable(parameters="targetName") TransferEndEvent transfer(String targetName, TransferDefinition definition, Collection<TransferCallback> callback) throws TransferFailureException Transfer nodes sync, with callback. This synchronous version of the transfer method waits for the transfer to complete before returning to the caller. Callbacks are called in the current thread context, so will be associated with the current transaction and user.- Parameters:
targetName- the name of the target to transfer todefinition- - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodescallback- - a set of callback handlers that will be called as transfer proceeds. May be null.- Returns:
- transfer end event (in case of success or cancellation)
- Throws:
TransferExceptionTransferFailureException
-
transfer
@Auditable(parameters="targetName") TransferEndEvent transfer(String targetName, TransferDefinition definition, TransferCallback... callbacks) throws TransferFailureException Transfer nodes sync, with callback. This synchronous version of the transfer method waits for the transfer to complete before returning to the caller. Callbacks are called in the current thread context, so will be associated with the current transaction and user.- Parameters:
targetName- the name of the target to transfer todefinition- - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodescallbacks- - a list of callback handlers that will be called as transfer proceeds. May be null.- Returns:
- transfer end event (in case of success or cancellation)
- Throws:
TransferExceptionTransferFailureException
-
transferAsync
@Auditable(parameters="targetName") void transferAsync(String targetName, TransferDefinition definition, Collection<TransferCallback> callback) throws TransferException Transfer nodes async with callback. The asynchronous version of the transfer method starts a transfer and returns as soon as possible. The transfer callbacks will be called by a different thread to that used to call the transferAsync method so transaction context will be different to the calling context. The asychronous transfer does not have access to uncommitted data in the calling transaction.- Parameters:
targetName- the name of the target to transfer todefinition- - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodescallback- - a collection of callback handlers that will be called as transfer proceeds. May be null.- Throws:
TransferException
-
transferAsync
@Auditable(parameters="targetName") void transferAsync(String targetName, TransferDefinition definition, TransferCallback... callbacks) throws TransferException Transfer nodes async with callback. The asynchronous version of the transfer method starts a transfer and returns as soon as possible. The transfer callbacks will be called by a different thread to that used to call the transferAsync method so transaction context will be different to the calling context. The asychronous transfer does not have access to uncommitted data in the calling transaction.- Parameters:
targetName- the name of the target to transfer todefinition- - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodescallbacks- - a collection of callback handlers that will be called as transfer proceeds. May be null.- Throws:
TransferException
-
verify
Verify a target is available and that the configured credentials are valid.- Throws:
TransferException
-
createAndSaveTransferTarget
@Auditable TransferTarget createAndSaveTransferTarget(String name, String title, String description, String endpointProtocol, String endpointHost, int endpointPort, String endpointPath, String username, char[] password) throws TransferException Create and save a new transfer target. Creates and saves a new transfer target with a single, but long, method call.- Parameters:
name- the name of this transfer target, which must be uniquetitle- the display name of this transfer targetdescription- StringendpointProtocol- either http or httpsendpointHost- StringendpointPort- intendpointPath- Stringusername- Stringpassword- char[]- Returns:
- the newly created transfer target.
- Throws:
TransferException
-
createTransferTarget
Creates an in memory transfer target. Before it is used it must be populated with the following values and saved with the saveTransferTarget method. The name of the transfer target must be unique.- title
- description
- endpointProtocol
- endpointHost
- endpointPort
- endpointPath
- username
- password
- Returns:
- an in memory transfer target
-
getTransferTargets
Get all the transfer targets- Throws:
TransferException
-
getTransferTargets
Get All the transfer targets for a particular transfer target group.- Parameters:
groupName- the name of the transfer group- Throws:
TransferException
-
getTransferTarget
Get a transfer target by its name- Throws:
TransferException- - target does not exist
-
targetExists
Test to see if the target with the specified name exists- Parameters:
name- String- Returns:
- true if the specified target exists, and false otherwise
-
deleteTransferTarget
Delete a transfer target. After calling this method the transfer target will no longer exist.- Parameters:
name- the name of this transfer target,- Throws:
TransferException- - target does not exist
-
saveTransferTarget
Save TransferTarget, will create a transfer target if it does not already exist or update an existing transfer target. The following properties may be updated: endpointHost, endpointPort, endpointProtocol, endpointPath, username, password, title, description The following properties may not be updated: name, must be specified. nodeRef, if specified will be ignored.- Parameters:
update- TransferTarget- Throws:
TransferException
-
enableTransferTarget
@Auditable(parameters={"name","enable"}) void enableTransferTarget(String name, boolean enable) throws TransferException Enables/Disables the named transfer target- Parameters:
name- the name of the transfer targetenable- (or false=disable)- Throws:
TransferException
-
cancelAsync
Asynchronously cancel an in-progress transfer This method tells an in-process transfer to give up, rollback and stop as soon as possible. Depending upon the state of the in-progress transfer, the transfer may still complete, despite calling this method, however in most cases the transfer will not complete. Calling this method for a transfer that does not exist, possibly because it has already finished, has no effect and will not throw an exception. The transfer identifier can be obtained from the TransferEventBegin event that is passed to registered callbacks when transfer starts.- Parameters:
transferId- the unique identifier of the transfer to cancel.- See Also:
-