org.apache.camel.impl
Class WebSpherePacakageScanClassResolver

java.lang.Object
  extended by org.apache.camel.impl.DefaultPackageScanClassResolver
      extended by org.apache.camel.impl.WebSpherePacakageScanClassResolver
All Implemented Interfaces:
PackageScanClassResolver

public class WebSpherePacakageScanClassResolver
extends DefaultPackageScanClassResolver

WebSphere specific resolver to handle loading annotated resources in JAR files.


Field Summary
 
Fields inherited from class org.apache.camel.impl.DefaultPackageScanClassResolver
LOG
 
Constructor Summary
WebSpherePacakageScanClassResolver(String resourcePath)
          Constructor.
 
Method Summary
protected  Enumeration<URL> getResources(ClassLoader loader, String packageName)
          Overloaded to handle specific problem with getting resources on the IBM WebSphere platform.
static boolean isWebSphereClassLoader(ClassLoader loader)
          Is the classloader from IBM and thus the WebSphere platform?
 
Methods inherited from class org.apache.camel.impl.DefaultPackageScanClassResolver
addClassLoader, addIfMatching, find, find, findAnnotated, findAnnotated, findByFilter, findImplementations, getClassLoaders, setClassLoaders
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebSpherePacakageScanClassResolver

public WebSpherePacakageScanClassResolver(String resourcePath)
Constructor.

Parameters:
resourcePath - the fixed resource path to use for fetching camel jars in WebSphere.
Method Detail

isWebSphereClassLoader

public static boolean isWebSphereClassLoader(ClassLoader loader)
Is the classloader from IBM and thus the WebSphere platform?

Parameters:
loader - the classloader
Returns:
true if IBM classloader, false otherwise.

getResources

protected Enumeration<URL> getResources(ClassLoader loader,
                                        String packageName)
                                 throws IOException
Overloaded to handle specific problem with getting resources on the IBM WebSphere platform.

WebSphere can not load resources if the resource to load is a folder name, such as a packagename, you have to explicit name a resource that is a file.

Overrides:
getResources in class DefaultPackageScanClassResolver
Parameters:
loader - the classloader
packageName - the packagename for the package to load
Returns:
URL's for the given package
Throws:
IOException - is thrown by the classloader


Copyright © 2009 Apache Software Foundation. All Rights Reserved.