-
1. Re: Annotation Scanning in AS5
alesj Jul 16, 2008 6:14 AM (in response to lynchie)The annotation scanning is done in org.jboss.deployment.AnnotationMetaDataDeployer.
Looking at it, I don't see any useful existing hooks.
But you can always override the class, in this case its getClasses method, excluding the classpaths you don't want checked.
I wrote and alternative to that AMDdeployer, AltAMDDeployer.
See metadata-deployer-beans.xml, currenty it's commented.
But this is an issue we're currently optimizing:
- http://lists.jboss.org/pipermail/jboss-development/2008-July/012304.html
And I'll try to make (class)path exclusion more flexible. -
2. Re: Annotation Scanning in AS5
lynchie Jul 16, 2008 8:06 AM (in response to lynchie)Thanks for the reply. I'm gonna look into overriding the class, but im sure a better solution would be a jboss specific xml file that you could specify a filter list or a list of jar's to exclude.
Anyway, I tried your Alt version of the deployer. Its definitely quicker at the scanning but using it caused an exception when deploying the ejb3 modules. Had a quick search but cant find anybody else with a similar issue. Everything deploys fine when using the original Metadata deployer (although slower!) Not sure if this issue has been identified before and fixed in svn but not inlcluded in CR1
2008-07-16 12:49:03,187 DEBUG [org.jboss.ejb3.deployers.Ejb3Deployer] (main) ********* Ejb3Deployer Begin Unit: testapp-mgr-ejb3-1.0.jar jar: testapp-mgr-ejb3-1.0.jar
2008-07-16 12:49:03,296 INFO [STDOUT] (main) ======> Creating interceptor metadata bridge
2008-07-16 12:49:03,328 DEBUG [org.jboss.ejb3.Ejb3Deployment] (main) error trying to stop ejb deployment
javax.management.RuntimeOperationsException
at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:515)
at org.jboss.mx.server.MBeanServerImpl.unregisterMBean(MBeanServerImpl.java:383)
at org.jboss.ejb3.Ejb3Deployment.unregisterDeployment(Ejb3Deployment.java:414)
at org.jboss.ejb3.Ejb3Deployment.destroy(Ejb3Deployment.java:765)
at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:477)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:178)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:95)
at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:174)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:970)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1023)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:911)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1392)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:784)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:912)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:834)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:672)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:455)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:594)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:257)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:135)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:409)
at org.jboss.Main.boot(Main.java:209)
at org.jboss.Main$1.run(Main.java:544)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalArgumentException: null object name
... 28 more
2008-07-16 12:49:03,328 DEBUG [org.jboss.ejb3.deployers.Ejb3Deployer] (main) Error during deploy: vfszip:/c:/temp/jboss-5.0.0.CR1/server/default/deploy/testapp.ear/testapp-mgr-ejb3-1.0.jar
org.jboss.deployers.spi.DeploymentException: Error deploying testapp-mgr-ejb3-1.0.jar: failed to initialize bean container
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:192)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:95)
at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:174)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:970)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1023)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:911)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1392)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:784)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:912)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:834)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:672)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:455)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:594)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:257)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:135)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:409)
at org.jboss.Main.boot(Main.java:209)
at org.jboss.Main$1.run(Main.java:544)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: failed to initialize bean container
at org.jboss.ejb3.EJBContainer.<init>(EJBContainer.java:225)
at org.jboss.ejb3.session.SessionContainer.<init>(SessionContainer.java:116)
at org.jboss.ejb3.session.SessionSpecContainer.<init>(SessionSpecContainer.java:29)
at org.jboss.ejb3.stateless.StatelessContainer.<init>(StatelessContainer.java:89)
at org.jboss.ejb3.Ejb3AnnotationHandler.getStatelessContainer(Ejb3AnnotationHandler.java:310)
at org.jboss.ejb3.Ejb3AnnotationHandler.getContainers(Ejb3AnnotationHandler.java:203)
at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:645)
at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:605)
at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:587)
at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:553)
at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:465)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:178)
... 22 more
Caused by: java.lang.IllegalStateException: Null beannMetaData
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.setupMetaDataLists(BeanInterceptorMetaDataBridge.java:262)
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.initialise(BeanInterceptorMetaDataBridge.java:187)
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.<init>(BeanInterceptorMetaDataBridge.java:113)
at org.jboss.ejb3.interceptors.metadata.AdditiveBeanInterceptorMetaDataBridge.<init>(AdditiveBeanInterceptorMetaDataBridge.java:48)
at org.jboss.ejb3.aop.BeanContainer.initialize(BeanContainer.java:194)
at org.jboss.ejb3.EJBContainer.<init>(EJBContainer.java:221)
... 33 more
Caused by: java.lang.NullPointerException
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.setupMetaDataLists(BeanInterceptorMetaDataBridge.java:215)
... 38 more
2008-07-16 12:49:03,328 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Real: name=vfsfile:/c:/temp/jboss-5.0.0.CR1/server/default/deploy/testapp.ear/ state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: Error deploying testapp-mgr-ejb3-1.0.jar: failed to initialize bean container
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:192)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:95)
at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:174)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:970)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1023)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:911)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1392)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:784)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:912)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:834)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:672)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:455)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:594)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:257)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:135)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:409)
at org.jboss.Main.boot(Main.java:209)
at org.jboss.Main$1.run(Main.java:544)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: failed to initialize bean container
at org.jboss.ejb3.EJBContainer.<init>(EJBContainer.java:225)
at org.jboss.ejb3.session.SessionContainer.<init>(SessionContainer.java:116)
at org.jboss.ejb3.session.SessionSpecContainer.<init>(SessionSpecContainer.java:29)
at org.jboss.ejb3.stateless.StatelessContainer.<init>(StatelessContainer.java:89)
at org.jboss.ejb3.Ejb3AnnotationHandler.getStatelessContainer(Ejb3AnnotationHandler.java:310)
at org.jboss.ejb3.Ejb3AnnotationHandler.getContainers(Ejb3AnnotationHandler.java:203)
at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:645)
at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:605)
at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:587)
at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:553)
at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:465)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:178)
... 22 more
Caused by: java.lang.IllegalStateException: Null beannMetaData
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.setupMetaDataLists(BeanInterceptorMetaDataBridge.java:262)
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.initialise(BeanInterceptorMetaDataBridge.java:187)
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.<init>(BeanInterceptorMetaDataBridge.java:113)
at org.jboss.ejb3.interceptors.metadata.AdditiveBeanInterceptorMetaDataBridge.<init>(AdditiveBeanInterceptorMetaDataBridge.java:48)
at org.jboss.ejb3.aop.BeanContainer.initialize(BeanContainer.java:194)
at org.jboss.ejb3.EJBContainer.<init>(EJBContainer.java:221)
... 33 more
Caused by: java.lang.NullPointerException
at org.jboss.ejb3.interceptors.metadata.BeanInterceptorMetaDataBridge.setupMetaDataLists(BeanInterceptorMetaDataBridge.java:215)
... 38 more