/******************************************************************************* * Copyright (c) 2013 Imperial College London. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Raul Castro Fernandez - initial design and implementation ******************************************************************************/ package uk.ac.imperial.lsds.seep.infrastructure.dynamiccodedeployer; import java.net.URL; import java.net.URLClassLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import uk.ac.imperial.lsds.seep.infrastructure.NodeManager; public class RuntimeClassLoader extends URLClassLoader{ final private Logger LOG = LoggerFactory.getLogger(RuntimeClassLoader.class); public RuntimeClassLoader(URL[] urls, ClassLoader cl) { super(urls, cl); } public void addURL(URL url){ super.addURL(url); } public Class<?> loadClass(String name){ try { return super.loadClass(name); // return Class.forName(name); } catch (ClassNotFoundException e) { URL[] loadURLs = super.getURLs(); for(URL u : loadURLs){ LOG.error("This URL: "+u); } LOG.error("When trying to load: "+name); try { return Class.forName(name); } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block LOG.error("MSG: "+e1.getMessage()); e1.printStackTrace(); } //e.printStackTrace(); } return null; } }