Richard Kennard [
http://community.jboss.org/people/kennardconsulting] created the
discussion
"JBoss AS 6 Final scanning does not support parameterized return types?"
To view the discussion, visit:
http://community.jboss.org/message/577806#577806
--------------------------------------------------------------
Hi guys,
Congratulations on releasing JBoss AS 6 Final! I am very excited to try it out. When
trying to deploy my app (that works okay on JBoss 5.1.0.GA), I get the following
exception:
13:43:55,421 ERROR [AbstractKernelController] Error installing to PostClassLoader:
name=vfs:///N:/jboss-6.0.0.Final/server/all/deploy/avant-ss-app.ear state=ClassLoader
mode=Manual requiredState=PostClassLoader: org.jboss.deployers.spi.DeploymentException:
Error during deploy:
vfs:///N:/jboss-6.0.0.Final/server/all/deploy/avant-ss-app.ear/avant-ss-ejb.jar/
at
org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
[:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:185)
[:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832)
[:2.2.0.GA]
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550)
[:2.2.0.GA]
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1603)
[:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1491)
[:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379)
[jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139)
[jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939)
[jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654)
[jboss-dependency.jar:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983)
[:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076)
[:2.2.0.GA]
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679)
[:2.2.0.GA]
at
org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106)
[:6.0.0.Final]
at
org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:143)
[:0.2.2]
at
org.jboss.profileservice.dependency.ProfileDeployAction.deploy(ProfileDeployAction.java:151)
[:0.2.2]
at
org.jboss.profileservice.dependency.ProfileDeployAction.installActionInternal(ProfileDeployAction.java:94)
[:0.2.2]
at
org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
[jboss-kernel.jar:2.2.0.GA]
at
org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
[jboss-kernel.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379)
[jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139)
[jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939)
[jboss-dependency.jar:2.2.0.GA]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654)
[jboss-dependency.jar:2.2.0.GA]
at
org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190)
[:0.2.2]
at
org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87)
[:0.2.2]
at
org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215)
[:0.2.2]
at
org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159)
[:0.2.2]
at
org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.activate(AbstractProfileServiceBootstrap.java:112)
[:0.2.2]
at
org.jboss.profileservice.resolver.BasicResolverFactory$ProfileResolverFacade.deploy(BasicResolverFactory.java:87)
[:0.2.2]
at
org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.start(AbstractProfileServiceBootstrap.java:91)
[:0.2.2]
at
org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:132)
[:6.0.0.Final]
at
org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56)
[:6.0.0.Final]
at
org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827)
[jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]
at
org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417)
[jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
Caused by: java.lang.Error: Error visiting
"/N:/jboss-6.0.0.Final/server/all/deploy/avant-ss-app.ear/avant-ss-ejb.jar/com/avant/ss/ejb/message/processor/MemberImportProcessor.class"
at
org.jboss.classloading.plugins.vfs.VFSResourceVisitor.visit(VFSResourceVisitor.java:268)
[jboss-classloading-vfs.jar:2.2.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:408) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:410) [jboss-vfs.jar:3.0.0.GA]
at org.jboss.vfs.VirtualFile.visit(VirtualFile.java:396) [jboss-vfs.jar:3.0.0.GA]
at
org.jboss.classloading.plugins.vfs.VFSResourceVisitor.visit(VFSResourceVisitor.java:102)
[jboss-classloading-vfs.jar:2.2.0.GA]
at
org.jboss.deployers.vfs.plugins.classloader.VFSDeploymentClassLoaderPolicyModule.visit(VFSDeploymentClassLoaderPolicyModule.java:181)
[:2.2.0.GA]
at org.jboss.scanning.plugins.DeploymentUnitScanner.scan(DeploymentUnitScanner.java:111)
[:1.0.0.GA]
at org.jboss.scanning.spi.helpers.UrlScanner.scan(UrlScanner.java:96) [:1.0.0.GA]
at org.jboss.scanning.deployers.ScanningDeployer.deploy(ScanningDeployer.java:95)
[:1.0.0.GA]
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
[:2.2.0.GA]
... 44 more
Caused by: java.lang.RuntimeException: Error visiting resource: VFSResourceContext @
com/avant/ss/ejb/message/processor/MemberImportProcessor.class /
BaseClassLoader@a9cb64{vfs:///N:/jboss-6.0.0.Final/server/all/deploy/avant-ss-app.ear},
visitor: org.jboss.scanning.annotations.plugins.GenericAnnotationVisitor@1571597
at
org.jboss.scanning.plugins.visitor.IgnoreSetErrorHandler.handleError(IgnoreSetErrorHandler.java:56)
[:1.0.0.GA]
at
org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.visit(ReflectResourceVisitor.java:91)
[:1.0.0.GA]
at
org.jboss.scanning.annotations.plugins.AnnotationsScanningPlugin.visit(AnnotationsScanningPlugin.java:89)
[:1.0.0.GA]
at
org.jboss.scanning.spi.helpers.ScanningPluginWrapper.visit(ScanningPluginWrapper.java:112)
[:1.0.0.GA]
at
org.jboss.classloading.plugins.visitor.FederatedResourceVisitor.visit(FederatedResourceVisitor.java:101)
[jboss-classloading.jar:2.2.0.GA]
at
org.jboss.classloading.plugins.vfs.VFSResourceVisitor.visit(VFSResourceVisitor.java:264)
[jboss-classloading-vfs.jar:2.2.0.GA]
... 58 more
Caused by: java.lang.reflect.MalformedParameterizedTypeException
at
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:42)
[:1.6.0_23]
at
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:35)
[:1.6.0_23]
at
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:77)
[:1.6.0_23]
at
sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:86)
[:1.6.0_23]
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:122)
[:1.6.0_23]
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
[:1.6.0_23]
at
sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:50)
[:1.6.0_23]
at java.lang.reflect.Method.getGenericReturnType(Method.java:236) [:1.6.0_23]
at
org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl$2.run(IntrospectionTypeInfoFactoryImpl.java:230)
[jboss-reflect.jar:2.2.0.GA]
at
org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl$2.run(IntrospectionTypeInfoFactoryImpl.java:218)
[jboss-reflect.jar:2.2.0.GA]
at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_23]
at
org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactoryImpl.getMethods(IntrospectionTypeInfoFactoryImpl.java:217)
[jboss-reflect.jar:2.2.0.GA]
at org.jboss.reflect.plugins.ClassInfoImpl.getDeclaredMethods(ClassInfoImpl.java:416)
[jboss-reflect.jar:2.2.0.GA]
at
org.jboss.scanning.plugins.visitor.ClassHierarchyResourceVisitor.handleClass(ClassHierarchyResourceVisitor.java:80)
[:1.0.0.GA]
at
org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.doVisit(ReflectResourceVisitor.java:108)
[:1.0.0.GA]
at
org.jboss.scanning.plugins.visitor.ReflectResourceVisitor.visit(ReflectResourceVisitor.java:86)
[:1.0.0.GA]
... 62 more
I have researched this a bit. The method that is being 'scanned and visited' and
causing the problem is my method:
*private Pair<Member, String> importMember( String memberRow, Company importCompany,
Plan importPlan, String stylesheet, int fileNumber, String dataDate )*
My class Pair is defined as:
*public class Pair<L, R>*
The problem is that in
*ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:42)* it is
trying to marry the actualTypeArguments <Member, String> (which it has parsed from
the return type of the method) with the class Pair's *Class.getTypeParameters()*
Now here is the mystery: *Class.getTypeParameters()* is returning an empty Array, rather
than <L, R>. If I try Class.forName at this point I get an Exception, which leads me
to believe that the Pair class is being constructed artificially by the JBoss MC scanner
and GenericAnnotationVisitor? Possibly it is being constructed incorrectly, without
generic type arguments?
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/577806#577806]
Start a new discussion in JBoss Microcontainer at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]