1 /*
2 * $Id: MuleContainerSystemClassLoader.java 20208 2010-11-17 14:33:40Z dirk.olmes $
3 * --------------------------------------------------------------------------------------
4 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
5 *
6 * The software in this package is published under the terms of the CPAL v1.0
7 * license, a copy of which has been included with this distribution in the
8 * LICENSE.txt file.
9 */
10
11 package org.mule.module.reboot;
12
13 import java.net.URL;
14 import java.net.URLClassLoader;
15 import java.util.List;
16
17 import org.apache.commons.logging.Log;
18 import org.apache.commons.logging.LogFactory;
19
20 /**
21 * Loads a standard $MULE_HOME/lib/* hierarchy.
22 */
23 public class MuleContainerSystemClassLoader extends URLClassLoader
24 {
25 protected transient Log logger = LogFactory.getLog(getClass());
26
27 public MuleContainerSystemClassLoader(DefaultMuleClassPathConfig classPath)
28 {
29 super(new URL[0]);
30
31 try
32 {
33 final List<URL> urlsList = classPath.getURLs();
34 for (URL url : urlsList)
35 {
36 if (logger.isDebugEnabled())
37 {
38 logger.debug("adding URL " + url);
39 }
40
41 addURL(url);
42 }
43 }
44 catch (Exception e)
45 {
46 if (logger.isDebugEnabled())
47 {
48 logger.debug(e);
49 }
50 }
51 }
52 }