Update of /var/cvs/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv5127
Modified Files:
BasicDataType.java
Log Message:
observed that it spends a lot of time in the getCloud method on class
security. Perhaps this helps
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/datatypes
Index: BasicDataType.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/BasicDataType.java,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -b -r1.95 -r1.96
--- BasicDataType.java 13 Aug 2008 21:32:17 -0000 1.95
+++ BasicDataType.java 21 Aug 2008 14:59:52 -0000 1.96
@@ -40,7 +40,7 @@
* @author Pierre van Rooden
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: BasicDataType.java,v 1.95 2008/08/13 21:32:17 michiel Exp $
+ * @version $Id: BasicDataType.java,v 1.96 2008/08/21 14:59:52 michiel Exp $
*/
public class BasicDataType<C> extends AbstractDescriptor implements
DataType<C>, Cloneable, Comparable<DataType<C>>, Descriptor {
@@ -328,6 +328,7 @@
return null;
}
+ private static Cloud classCloud = null;
/**
* Returns a cloud object if argument is <code>null</code>. Otherwise the
argument.
* @since MMBase-1.8.6
@@ -340,7 +341,9 @@
if (cloud == null) {
CloudContext context = ContextProvider.getDefaultCloudContext();
if (! context.isUp()) return null;
- cloud = context.getCloud("mmbase", "class", null);
+ // class security can be a bit expensive, and this method can in
certain cases be called very often.
+ if (classCloud == null || ! classCloud.getUser().isValid())
classCloud = context.getCloud("mmbase", "class", null);
+ cloud = classCloud;
}
return cloud;
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs