blob: e75f14c6ae188df197d834ab5e10a81aa23c80f9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
package cbt
import java.net._
import java.util.concurrent.ConcurrentHashMap
import scala.util.Try
trait CachingClassLoader extends ClassLoader{
def logger: Logger
val cache = new KeyLockedLazyCache[String,Try[Class[_]]]( new ConcurrentHashMap, new ConcurrentHashMap, Some(logger) )
override def loadClass(name: String, resolve: Boolean) = {
cache.get( name, Try(super.loadClass(name, resolve)) ).get
}
}
|