12-11-2014 06:33 AM
public class MyClass {
private NodeService nodeService;
private TransactionService transactionService;
private FileFolderService fileFolderService;
public void init() {…}
public void updateAspects(NodeRef nodeRef){
…..
RecurseAspectUpdate recurseAspectUpdate = new RecurseAspectUpdate(nodeRef, transactionService, nodeService, fileFolderService);
(new Thread(recurseAspectUpdate)).start();
….
}
//setters are defined here for xxServices
}
public class RecurseAspectUpdate implements Runnable {
private Logger logger = Logger.getLogger(RecurseAspectUpdate.class);
private NodeRef nodeRef;
private TransactionService transactionService;
private NodeService nodeService;
private FileFolderService fileFolderService;
static final int MAX_TRANSACTION_RETRIES = 1;
public RecurseAspectUpdate(NodeRef nodeRef,
TransactionService transactionService, NodeService nodeService,
FileFolderService fileFolderService) {
this.nodeRef = nodeRef;
this.transactionService = transactionService;
this.nodeService = nodeService;
this.fileFolderService = fileFolderService;
}
@Override
public synchronized void run() {
logger.debug("About to start thread");
AuthenticationUtil.setRunAsUserSystem();
RetryingTransactionCallback<Object> callback = new RetryingTransactionCallback<Object>() {
@Override
public Object execute() throws Throwable {
// call local method to set aspect recursively
addChildsAspects(nodeRef);
return null;
}
};
// run transaction
try {
RetryingTransactionHelper txnHelper = transactionService
.getRetryingTransactionHelper();
txnHelper.setMaxRetries(MAX_TRANSACTION_RETRIES);// retry one time
txnHelper.doInTransaction(callback, false, true);
} catch (Throwable e) {
logger.error(" Failed to add sync aspect recursively on nodeRef: "
+ nodeRef);
logger.error(" — Error message: " + e.getMessage());
logger.error(" — Error cause: " + e.getCause());
e.printStackTrace();
}
logger.debug(" Sync aspect added recursively on nodeRef: " + nodeRef);
}
/*
addChildsAspects method definition
*/
}
12-11-2014 07:54 AM
12-11-2014 12:03 PM
12-15-2014 05:38 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.