--- NewServlet.java Tue Oct 16 18:27:22 2007 +++ /home/luehe/VVV/NetBeansProjects/WebApplication1/src/java/a/NewServlet.java Tue Oct 16 18:23:53 2007 @@ -3,6 +3,7 @@ import java.io.*; import java.net.*; +import java.util.Enumeration; import java.util.ServiceLoader; import javax.servlet.*; @@ -69,11 +70,28 @@ @Override public void init(ServletConfig arg) throws ServletException { super.init(arg); + + try { + String prefix = "META-INF/services/"; + String serviceName = ExecutorFactory.class.getName(); + System.out.println("ServiceName=" + serviceName); + Enumeration urls = + getClass().getClassLoader().getResources( + prefix + serviceName); + while (urls.hasMoreElements()) { + URL url = urls.nextElement(); + System.out.println("URL=" + url); + url.openStream(); + } + } catch (IOException ioe) { + throw new ServletException(ioe); + } + ServiceLoader factories = ServiceLoader.load(ExecutorFactory.class); - System.out.println(getClass().getClassLoader()); + System.out.println(ExecutorFactory.class.getClassLoader()); System.out.println(Thread.currentThread().getContextClassLoader()); - System.out.println(getClass().getClassLoader() == Thread.currentThread().getContextClassLoader()); + System.out.println(ExecutorFactory.class.getClassLoader() == Thread.currentThread().getContextClassLoader()); for (ExecutorFactory f:factories) { Executor e = f.getExecutor(); //System.out.println(e);