Author: bago
Date: Wed Jan  4 08:56:41 2006
New Revision: 365943

URL: http://svn.apache.org/viewcvs?rev=365943&view=rev
Log:
Removed custom classloader for matcher/mailet loader. Now the container should 
already provide a complete classloader (JAMES-418).

Modified:
    
james/server/trunk/src/java/org/apache/james/transport/JamesMailetLoader.java
    
james/server/trunk/src/java/org/apache/james/transport/JamesMatcherLoader.java
    james/server/trunk/src/java/org/apache/james/transport/Loader.java

Modified: 
james/server/trunk/src/java/org/apache/james/transport/JamesMailetLoader.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/JamesMailetLoader.java?rev=365943&r1=365942&r2=365943&view=diff
==============================================================================
--- 
james/server/trunk/src/java/org/apache/james/transport/JamesMailetLoader.java 
(original)
+++ 
james/server/trunk/src/java/org/apache/james/transport/JamesMailetLoader.java 
Wed Jan  4 08:56:41 2006
@@ -14,7 +14,6 @@
  * implied.  See the License for the specific language governing       *
  * permissions and limitations under the License.                      *
  ***********************************************************************/
-
 package org.apache.james.transport;
 import javax.mail.MessagingException;
 
@@ -33,12 +32,12 @@
      * @see 
org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
      */
     public void configure(Configuration conf) throws ConfigurationException {
-           getPackages(conf,MAILET_PACKAGE);
-           configureMailetClassLoader();
+        getPackages(conf,MAILET_PACKAGE);
     }
-    /* (non-Javadoc)
-         * @see 
org.apache.james.transport.MailetLoader#getMailet(java.lang.String, 
org.apache.avalon.framework.configuration.Configuration)
-         */
+
+    /**
+     * @see org.apache.james.services.MailetLoader#getMailet(java.lang.String, 
org.apache.avalon.framework.configuration.Configuration)
+     */
     public Mailet getMailet(String mailetName, Configuration configuration)
         throws MessagingException {
         try {
@@ -49,7 +48,7 @@
                     configImpl.setMailetName(mailetName);
                     configImpl.setConfiguration(configuration);
                     configImpl.setMailetContext(mailetContext);
-                    Mailet mailet = (Mailet) 
mailetClassLoader.loadClass(className).newInstance();
+                    Mailet mailet = (Mailet) 
Thread.currentThread().getContextClassLoader().loadClass(className).newInstance();
                     mailet.init(configImpl);
                     return mailet;
                 } catch (ClassNotFoundException cnfe) {

Modified: 
james/server/trunk/src/java/org/apache/james/transport/JamesMatcherLoader.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/JamesMatcherLoader.java?rev=365943&r1=365942&r2=365943&view=diff
==============================================================================
--- 
james/server/trunk/src/java/org/apache/james/transport/JamesMatcherLoader.java 
(original)
+++ 
james/server/trunk/src/java/org/apache/james/transport/JamesMatcherLoader.java 
Wed Jan  4 08:56:41 2006
@@ -34,7 +34,6 @@
      */
     public void configure(Configuration conf) throws ConfigurationException {
            getPackages(conf,MATCHER_PACKAGE);
-           configureMailetClassLoader();
     }
 
     /* (non-Javadoc)
@@ -55,7 +54,7 @@
                     configImpl.setMatcherName(matchName);
                     configImpl.setCondition(condition);
                     configImpl.setMailetContext(mailetContext);
-                    Matcher matcher = (Matcher) 
mailetClassLoader.loadClass(className).newInstance();
+                    Matcher matcher = (Matcher) 
Thread.currentThread().getContextClassLoader().loadClass(className).newInstance();
                     matcher.init(configImpl);
                     return matcher;
                 } catch (ClassNotFoundException cnfe) {

Modified: james/server/trunk/src/java/org/apache/james/transport/Loader.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/Loader.java?rev=365943&r1=365942&r2=365943&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/transport/Loader.java 
(original)
+++ james/server/trunk/src/java/org/apache/james/transport/Loader.java Wed Jan  
4 08:56:41 2006
@@ -14,12 +14,8 @@
  * implied.  See the License for the specific language governing       *
  * permissions and limitations under the License.                      *
  ***********************************************************************/
-
 package org.apache.james.transport;
 import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
 import java.util.Vector;
 
 import org.apache.avalon.framework.activity.Initializable;
@@ -41,7 +37,7 @@
  * $Id$
  */
 public abstract class Loader extends AbstractLogEnabled implements 
Contextualizable, Serviceable, Configurable, Initializable {
-    protected ClassLoader mailetClassLoader = null;
+
     protected String baseDirectory = null;
     protected final String MAILET_PACKAGE = "mailetpackage";
     protected final String MATCHER_PACKAGE = "matcherpackage";
@@ -89,38 +85,6 @@
             }
             packages.addElement(packageName);
         }
-    }
-    /**
-     * Method getMailetClassLoader.
-     */
-    protected void configureMailetClassLoader() {
-        File base = new File(baseDirectory + "/SAR-INF/lib");
-        String[] flist = base.list();
-        Vector jarlist = new Vector();
-        URL[] classPath = null;
-        try {
-            jarlist.add(new URL("file:///" + baseDirectory + 
"/SAR-INF/classes/"));
-        } catch (MalformedURLException e) {
-            getLogger().error(
-                "can't add "
-                    + "file:///"
-                    + baseDirectory
-                    + "/SAR-INF/classes/ to mailet classloader");
-        }
-        if (flist != null) {
-            for (int i = 0; i < flist.length; i++) {
-                try {
-                    if (flist[i].indexOf("jar") == flist[i].length() - 3) {
-                        jarlist.add(new URL("file:///" + baseDirectory 
+"/SAR-INF/lib/"+ flist[i]));
-                        getLogger().debug("added file:///" + baseDirectory 
+"/SAR-INF/lib/" + flist[i] + " to mailet Classloader");
-                    }
-                } catch (MalformedURLException e) {
-                    getLogger().error("can't add file:///" + baseDirectory 
+"/SAR-INF/lib/"+ flist[i] + " to mailet classloader");
-                }
-            }
-        }
-        classPath = (URL[]) jarlist.toArray(new URL[jarlist.size()]);
-        mailetClassLoader = new URLClassLoader(classPath, 
this.getClass().getClassLoader());
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to