2 Replies Latest reply on Jul 23, 2009 12:40 PM by simon_temple

    JBAS5.1 - custom DeploymentFilter in profile.xml CNFE

    simon_temple

      I have extended org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter to add additional deployment filtering capabilities to our 5.1 based system.

      The bean declaration in the profile.xml looks like this:

      <!-- A filter for excluding files from the scanner -->
       <bean name="DeploymentFilter" class="com.xyz.deployer.jboss.MyExtensibleFilterImpl">
       <!-- Files starting with theses strings are ignored -->
       <property name="prefixes">#,%,\,,.,_$</property>
       <!-- Files ending with theses strings are ignored -->
       <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
       <!-- Files matching with theses strings are ignored -->
       <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
       </bean>
      
      


      I get CNFE when I try and start JBoss:

      16:33:30,545 ERROR [AbstractKernelController] Error installing to PreInstall: name=DeploymentFilter state=Real
      java.lang.ClassNotFoundException: com.xyz.deployer.jboss.MyExtensibleFilterImpl
       at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
       at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:247)
       at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:292)
       at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1119)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:798)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
       at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:247)
       at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.resolveComplexTypeInfo(IntrospectionTypeInfoFactoryImpl.java:419)
       at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.getTypeInfo(IntrospectionTypeInfoFactoryImpl.java:388)
       at org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory.getTypeInfo(IntrospectionTypeInfoFactory.java:54)
      <snip>
      


      The custom JAR containing MyExtensibleFilterImpl is in the same folder as jboss-profileservice-spi.jar and jboss-vfs.jar yet it can't find the class.

      Do I need to do anything else to get my class loaded by the BaseClassLoader?