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 / 
baseclassloa...@a9cb64{vfs:///N:/jboss-6.0.0.Final/server/all/deploy/avant-ss-app.ear},
 visitor: 
org.jboss.scanning.annotations.plugins.genericannotationvisi...@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&containerType=14&container=2114]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to