users@glassfish.java.net

relationship between application classloader and osgi module classloader

From: zhaoshanctgu.cn at 163.com <zhaoshanctgu.cn_at_163.com>
Date: Wed, 21 Nov 2012 16:32:12 +0000

Hi everyone:

 

I'm now using GlassFish 3.1.2.2 OpenSource Edition, I want to know the relationship between application classloader and osgi module classloader. The application ClassLoader is used to loading ear or war archive deployed in server. The osgi moudle classLoader is used to load jars in folder ${install_dir}/glassfish/modules. In other words , how the osgi module based web container or ejb container communicate with the application deployed in it.

 

I have read the documents on http://docs.oracle.com/cd/E19226-01/820-7695/6niugesfp/index.html , but I'm not sure what classloader is used to load the modules. I debuged The glassfish source code ,I found that the APIClassLoader has a field named apiModuleLoader, It has a same parent classLoader with the bundleClassLoader。The bundleClassLoader is used to load modules.I want to konw this is right or not? If that's right, how the container communicate with he application in it? I’m very confusing.


Does anyone knows something about that? If you konw ,please help me or tell me more information. I would greatly appreciate your answer.


Wish you all the best. Thank you very much!

                                                                                friend using glaafish