Refinements to RetryingTransactionHelper to make it equivalent to

executeInUserTransaction().
Changed the on close callback for write listeners to use a RetryingTransaction.
The point of this exercise is to make it possible for clients of the core server
to ignore transient resource contention failures.  CIFS, for example, will be able 
to take advantage of this, since a transient error condition currently results in a dead
share.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4597 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-12-13 17:03:44 +00:00
parent 4834c89f5a
commit e76fc329b6
10 changed files with 172 additions and 68 deletions

View File

@@ -16,6 +16,7 @@
*/
package org.alfresco.service.cmr.repository;
import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.alfresco.service.transaction.TransactionService;
/**
@@ -51,15 +52,10 @@ public interface ContentAccessor
public void addListener(ContentStreamListener listener);
/**
* Set the transaction provider that will be used when stream listeners are called.
* No transactions are started unless there are listeners present to be executed.
* For consistency, the execution of listeners <b>will not</b> be allowed to proceed
* unless this property has been set OR the channel close operations are executed
* within the context of a live transaction.
*
* @param transactionService a transaction provider
* Set the transaction helper for callbacks.
* @param helper
*/
public void setTransactionService(TransactionService transactionService);
public void setRetryingTransactionHelper(RetryingTransactionHelper helper);
/**
* Gets the size of the content that this reader references.