[jboss-user] [JBoss Microcontainer Development] - JBoss Reflect Performance Javassist vs Introspection

Kabir Khan do-not-reply at jboss.com
Thu Apr 22 06:39:41 EDT 2010

Kabir Khan [http://community.jboss.org/people/kabir.khan%40jboss.com] replied to the discussion

"JBoss Reflect Performance Javassist vs Introspection"

To view the discussion, visit: http://community.jboss.org/message/538975#538975

I put some breakpoints in RegisterModuleCallback.addModule(), JBossClDelegatingClassPool constructor, and in JavassistTypeInfoFactoryImpl.delegateToIntrospectionImplementation() (where failed ClassPool lookups end up) and it seems that there is a problem in that the aop classloader does not get registered with the classpools. The flow of these break points is:

1. RegisterModuleCallback.addModule() - bootstrap-classloader:0.0.0
2. RegisterModuleCallback.addModule() - jmx-classloader:0.0.0
3. JBossClDelegatingClassPool() - bootstrap-classloader:0.0.0
4. JBossClDelegatingClassPool() - jmx-classloader:0.0.0
5. Get TypeInfo for AspectManagerJMXRegistrar fails (aop classpool not created yet)
6. RegisterModuleCallback.addModule() - deployers-classloader:0.0.0
7. JBossClDelegatingClassPool() - deployers-classloader:0.0.0
8. Get TypeInfo for AOPAnnotationMetaDataParserDeployer fails (aop classpool not created)
9. Get TypeInfo for AOPDeploymentAopMetaDataDeployer fails (aop classpool not created)
10. Get TypeInfo for BeansDeploymentAopMetaDataDeployer fails (aop classpool not created)
11. RegisterModuleCallback.addModule() - profile-classloader:0.0.0
12. JBossClDelegatingClassPool() profile-classloader:0.0.0


Looking at the sequence of files from bootstrap.xml:

* bootstrap/vfs.xml  - No classloader
* bootstrap/classloader.xml - defines bootstap-classloader:0.0.0
* bootstrap/stdio.xml - defines stdio-classloader:0.0.0
* bootstrap/kernel.xml - defines asynch-classloader:0.0.0
* bootstrap/aop.xml - defines aop-classloader:0.0.0 and the RegisterModuleCallback
* bootstrap/jmx.xml - defines jmx-classloader:0.0.0
* bootstrap/deployers.xml - defines deployers-classloader:0.0.0
* bootstrap/profile.xml - defines deployers-classloader:0.0.0

Assuming these get deployed in order (which I will look at next) it seems strange that the RegisterModuleCallback receives bootstrap-, jmx-, deployers- and profile-classloader, but not the aop-, stdio and, asynch-classloaders


Reply to this message by going to Community

Start a new discussion in JBoss Microcontainer Development at Community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100422/b363fd6e/attachment.html 

More information about the jboss-user mailing list