With reference to DATAMONGO-1792, the synchronization of TomcatEmbeddedWebappClassLoader.loadClass(String, boolean) is inefficient. Rather than making the method itself synchronized it should synchronize on the response from (getClassLoadingLock(className). We should also verify that the JVM considers the class loader to be parallel capable (its superclass is registered as such).