JBAS5.1 - custom DeploymentFilter in profile.xml CNFE
simon_temple Jul 23, 2009 12:01 PMI 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?