Index: src/java/org/datanucleus/metadata/MetaDataManager.java =================================================================== --- src/java/org/datanucleus/metadata/MetaDataManager.java (revision 2080) +++ src/java/org/datanucleus/metadata/MetaDataManager.java (working copy) @@ -882,7 +882,7 @@ * @param clr the ClassLoaderResolver * @return The ClassMetaData for this class (or null if not found) */ - public synchronized AbstractClassMetaData getMetaDataForClass(Class c, ClassLoaderResolver clr) + public synchronized AbstractClassMetaData getMetaDataForClass(final Class c, final ClassLoaderResolver clr) { if (c == null) { @@ -892,7 +892,10 @@ { return null; } - + AbstractClassMetaData ret = (AbstractClassMetaData) + AccessController.doPrivileged( + new PrivilegedAction () { + public Object run () { AbstractClassMetaData cmd = null; if (c.isInterface()) { @@ -932,6 +935,10 @@ utilisedFileMetaData.clear(); return cmd; + } + } + ); + return ret; } /**