More for AR-460: System concurrency

There might be a few SDK projects that still use TransactionUtil, but this checkin gets rid of
its use otherwise.
I took a glance over the areas of the code that use UserTransaction directly and didn't see any
transactionally wrapped code that desperately needed to be put into a retry loop (i.e. write
transactions in a concurrent scenario).  If you spot any that you think might qualify, let me know.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6220 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-07-12 04:15:28 +00:00
parent 2c4637723f
commit 0d8df71921
5 changed files with 165 additions and 156 deletions

View File

@@ -31,7 +31,7 @@ import java.util.List;
import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.transaction.TransactionUtil;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.repo.webservice.AbstractWebService;
import org.alfresco.repo.webservice.Utils;
import org.alfresco.repo.webservice.types.Category;
@@ -117,11 +117,10 @@ public class ClassificationWebService extends AbstractWebService implements
{
try
{
return TransactionUtil.executeInUserTransaction(
this.transactionService,
new TransactionUtil.TransactionWork<Classification[]>()
return transactionService.getRetryingTransactionHelper().doInTransaction(
new RetryingTransactionCallback<Classification[]>()
{
public Classification[] doWork()
public Classification[] execute()
{
List<Classification> classifications = new ArrayList<Classification>();
@@ -198,11 +197,10 @@ public class ClassificationWebService extends AbstractWebService implements
{
try
{
return TransactionUtil.executeInUserTransaction(
this.transactionService,
new TransactionUtil.TransactionWork<Category[]>()
return transactionService.getRetryingTransactionHelper().doInTransaction(
new RetryingTransactionCallback<Category[]>()
{
public Category[] doWork()
public Category[] execute()
{
NodeRef parentNodeRef = Utils.convertToNodeRef(
parentCategory,
@@ -246,11 +244,10 @@ public class ClassificationWebService extends AbstractWebService implements
{
try
{
return TransactionUtil.executeInUserTransaction(
this.transactionService,
new TransactionUtil.TransactionWork<CategoriesResult[]>()
return transactionService.getRetryingTransactionHelper().doInTransaction(
new RetryingTransactionCallback<CategoriesResult[]>()
{
public CategoriesResult[] doWork()
public CategoriesResult[] execute()
{
List<CategoriesResult> result = new ArrayList<CategoriesResult>();
@@ -354,11 +351,10 @@ public class ClassificationWebService extends AbstractWebService implements
{
try
{
return TransactionUtil.executeInUserTransaction(
this.transactionService,
new TransactionUtil.TransactionWork<CategoriesResult[]>()
return transactionService.getRetryingTransactionHelper().doInTransaction(
new RetryingTransactionCallback<CategoriesResult[]>()
{
public CategoriesResult[] doWork()
public CategoriesResult[] execute()
{
List<CategoriesResult> result = new ArrayList<CategoriesResult>();
@@ -437,11 +433,10 @@ public class ClassificationWebService extends AbstractWebService implements
{
try
{
return TransactionUtil.executeInUserTransaction(
this.transactionService,
new TransactionUtil.TransactionWork<ClassDefinition>()
return transactionService.getRetryingTransactionHelper().doInTransaction(
new RetryingTransactionCallback<ClassDefinition>()
{
public ClassDefinition doWork()
public ClassDefinition execute()
{
org.alfresco.service.cmr.dictionary.ClassDefinition classDefinition = ClassificationWebService.this.dictionaryService.getClass(QName.createQName(classification));
return Utils.setupClassDefObject(classDefinition);