From d053782f25a1efae9320c58ab018f9412922355a Mon Sep 17 00:00:00 2001 From: Steven Glover Date: Wed, 19 Oct 2011 09:01:34 +0000 Subject: [PATCH] Fix for ALF-7241: - patch to mybatis-3.0.4 - configuration option (property 'mybatis.useLocalCaches') to disable local caches that cause problems with result handlers not returning any results git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31333 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/ibatis/ibatis-context.xml | 2 ++ config/alfresco/repository.properties | 5 ++++- .../repo/domain/node/ibatis/NodeDAOImpl.java | 17 +---------------- .../domain/query/ibatis/CannedQueryDAOImpl.java | 6 +----- 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/config/alfresco/ibatis/ibatis-context.xml b/config/alfresco/ibatis/ibatis-context.xml index 84f0880a84..b3a561921c 100644 --- a/config/alfresco/ibatis/ibatis-context.xml +++ b/config/alfresco/ibatis/ibatis-context.xml @@ -45,6 +45,7 @@ + @@ -59,6 +60,7 @@ + diff --git a/config/alfresco/repository.properties b/config/alfresco/repository.properties index d204849d03..9f2feb93ad 100644 --- a/config/alfresco/repository.properties +++ b/config/alfresco/repository.properties @@ -794,4 +794,7 @@ system.content.caching.maxElementsOnDisk=10000 system.content.caching.minFileAgeMillis=60000 system.content.caching.maxUsageMB=4096 # maxFileSizeMB - 0 means no max file size. -system.content.caching.maxFileSizeMB=0 \ No newline at end of file +system.content.caching.maxFileSizeMB=0 + +mybatis.useLocalCaches=false + diff --git a/source/java/org/alfresco/repo/domain/node/ibatis/NodeDAOImpl.java b/source/java/org/alfresco/repo/domain/node/ibatis/NodeDAOImpl.java index 203560d8c5..8fc300a8ef 100644 --- a/source/java/org/alfresco/repo/domain/node/ibatis/NodeDAOImpl.java +++ b/source/java/org/alfresco/repo/domain/node/ibatis/NodeDAOImpl.java @@ -165,7 +165,7 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl this.dictionaryService = dictionaryService; super.setDictionaryService(dictionaryService); } - + public void startBatch() { // TODO @@ -1043,8 +1043,6 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); - // TODO MyBatis workaround - see also http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); @@ -1125,8 +1123,6 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); - // TODO MyBatis workaround - see also http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); @@ -1211,8 +1207,6 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(filter, resultsCallback); - // TODO MyBatis workaround - see also http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); @@ -1267,8 +1261,6 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl assoc.setOrdered(resultsCallback.orderResults()); ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); - // TODO MyBatis workaround - see also http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler); resultsCallback.done(); @@ -1296,9 +1288,6 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); - // TODO MyBatis workaround - see also http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); - template.select(SELECT_CHILD_ASSOCS_OF_PARENT_WITHOUT_PARENT_ASSOCS_OF_TYPE, assoc, resultHandler); resultsCallback.done(); } @@ -1357,8 +1346,6 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback); - // TODO MyBatis workaround - see also http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); template.select(SELECT_PARENT_ASSOCS_OF_CHILD, assoc, resultHandler); resultsCallback.done(); @@ -1374,8 +1361,6 @@ public class NodeDAOImpl extends AbstractNodeDAOImpl childNode.setId(childNodeId); assoc.setChildNode(childNode); - // TODO MyBatis workaround - see also http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); return (List) template.selectList(SELECT_PARENT_ASSOCS_OF_CHILD, assoc); } diff --git a/source/java/org/alfresco/repo/domain/query/ibatis/CannedQueryDAOImpl.java b/source/java/org/alfresco/repo/domain/query/ibatis/CannedQueryDAOImpl.java index d67738238d..1f62f89a5a 100644 --- a/source/java/org/alfresco/repo/domain/query/ibatis/CannedQueryDAOImpl.java +++ b/source/java/org/alfresco/repo/domain/query/ibatis/CannedQueryDAOImpl.java @@ -199,11 +199,7 @@ public class CannedQueryDAOImpl extends AbstractCannedQueryDAOImpl ResultHandlerTranslator resultHandler = new ResultHandlerTranslator(handler); try { - // TODO MyBatis workaround - // http://code.google.com/p/mybatis/issues/detail?id=58 (and #139, #234, ...) - template.clearCache(); - - if ((offset == 0) && (limit == Integer.MAX_VALUE)) + if ((offset == 0) && (limit == Integer.MAX_VALUE)) { template.select(query, parameterObj, resultHandler); }