Hi Saminda, You have mentioned "rampart" as a famous example. "rampart.mar" contains > only the module.xml. All other 3rd party jars has to be put into root lib. > Rampart folks has done this, in order to prevent class delegation problems. > With OSGi, one would need only to copy the relevant bundles into bundle > repository and start them. Thus, this will eliminate of copying jars and > mars all over the place. In order to include rampart into the system, one > has to shut down the entire instance and start again. No offence rampart > folks. This is true for most of the modules. So this is the problem we are > trying to address and sort out with proper modularizing and version. >
The reason Rampart jars need to go in to Axis2 lib is the Sun Service Provider Interface problem. rampart-core.jar and rampart-policy.jar registers some assertion builders using Sun SPI and those builders to be used by neethi factory classes they should be in the classpath of those neethi classes. So the only solution we have right now is to put those two jars in the Axis2 lib. Actually we only need those two jars (not the third party jars) to be in the Axis2 lib and rampart-trust.jar and other third party jars can be bundled in the module itself. Can this be solved by OSGi ? ( With the very little knowledge OGSi bundle classpath resolution and bundle wiring , I couldn't figure out how to do this :( ) thanks, nandana -- Nandana Mihindukulasooriya WSO2 inc. http://nandana83.blogspot.com/
