eyalgo
3/11/2016 - 10:56 AM

blog-applift-upgrading-spark-whitelist-cl.scala

package org.apache.spark.util

import org.apache.spark.util.ChildFirstURLClassLoader
import java.net.URL

class WhiteListClassLoader(urls: Array[URL], parent: ClassLoader, whiteList: List[String])
  extends ChildFirstURLClassLoader(urls, parent) {
  override def loadClass(name: String) = {
    if (whiteList.exists(name.startsWith)) {
      super.loadClass(name)
    } else {
      parent.loadClass(name)
    }
  }
}