You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2006/01/26 04:16:01 UTC
svn commit: r372417 - in /ibatis/trunk/java/mapper/mapper2/src/com/ibatis:
common/beans/ClassInfo.java sqlmap/engine/builder/xml/SqlMapConfigParser.java
sqlmap/engine/builder/xml/sql-map-config-2.dtd
Author: cbegin
Date: Wed Jan 25 19:15:57 2006
New Revision: 372417
URL: http://svn.apache.org/viewcvs?rev=372417&view=rev
Log:
added setting to enable/disable ClassInfo caching.
Modified:
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java
URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java?rev=372417&r1=372416&r2=372417&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java Wed Jan 25 19:15:57 2006
@@ -28,6 +28,7 @@
*/
public class ClassInfo {
+ private static boolean cacheEnabled = true;
private static final String[] EMPTY_STRING_ARRAY = new String[0];
private static final Set SIMPLE_TYPE_SET = new HashSet();
private static final Map CLASS_INFO_MAP = Collections.synchronizedMap(new HashMap());
@@ -259,14 +260,22 @@
* @return The method cache for the class
*/
public static ClassInfo getInstance(Class clazz) {
- synchronized (clazz) {
- ClassInfo cache = (ClassInfo) CLASS_INFO_MAP.get(clazz);
- if (cache == null) {
- cache = new ClassInfo(clazz);
- CLASS_INFO_MAP.put(clazz, cache);
+ if (cacheEnabled) {
+ synchronized (clazz) {
+ ClassInfo cache = (ClassInfo) CLASS_INFO_MAP.get(clazz);
+ if (cache == null) {
+ cache = new ClassInfo(clazz);
+ CLASS_INFO_MAP.put(clazz, cache);
+ }
+ return cache;
}
- return cache;
+ } else {
+ return new ClassInfo(clazz);
}
+ }
+
+ public static void setCacheEnabled(boolean cacheEnabled) {
+ ClassInfo.cacheEnabled = cacheEnabled;
}
/**
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java
URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java?rev=372417&r1=372416&r2=372417&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java Wed Jan 25 19:15:57 2006
@@ -5,6 +5,7 @@
import com.ibatis.common.xml.NodeletParser;
import com.ibatis.common.xml.NodeletUtils;
import com.ibatis.common.exception.NestedRuntimeException;
+import com.ibatis.common.beans.ClassInfo;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapException;
import com.ibatis.sqlmap.client.extensions.TypeHandlerCallback;
@@ -145,6 +146,10 @@
vars.errorCtx.setActivity("loading settings properties");
Properties attributes = NodeletUtils.parseAttributes(node, vars.properties);
+
+ String classInfoCacheEnabledAttr = attributes.getProperty("classInfoCacheEnabled");
+ boolean classInfoCacheEnabled = (classInfoCacheEnabledAttr == null || "true".equals(classInfoCacheEnabledAttr));
+ ClassInfo.setCacheEnabled(classInfoCacheEnabled);
String lazyLoadingEnabledAttr = attributes.getProperty("lazyLoadingEnabled");
boolean lazyLoadingEnabled = (lazyLoadingEnabledAttr == null || "true".equals(lazyLoadingEnabledAttr));
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd
URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd?rev=372417&r1=372416&r2=372417&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd Wed Jan 25 19:15:57 2006
@@ -29,6 +29,7 @@
<!ELEMENT settings EMPTY>
<!ATTLIST settings
+classInfoCacheEnabled (true | false) #IMPLIED
lazyLoadingEnabled (true | false) #IMPLIED
cacheModelsEnabled (true | false) #IMPLIED
enhancementEnabled (true | false) #IMPLIED