felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martijn Dashorst <mart...@dashorst.dds.nl>
Subject Re: Running Felix in a servlet engine
Date Tue, 27 Sep 2005 10:11:50 GMT
Sylvain Wallez wrote:

> Martijn Dashorst wrote:
>
>> This is possible (at least with Oscar 1.0.5.), there are some concern 
>> you have to take into account. First you need to make sure you use 
>> the correct classloader to get to the classes embedded in the 
>> bundles. That should be too hard a problem.
>
> Can you elaborate on this point? Is it about setting the correct 
> thread's context classloader?

In Wicket we have a resource loading strategy, which can be altered to 
use the Oscar/Felix classloader.

A component in Wicket can reside in a bundle, and we use the component's 
classloader to find its resources (that also are located in the bundle). 
So when the bundle is loaded using the felix classloader, that one is 
also used for the resources. When the bundle is loaded by the servlet 
engine, then we use that classloader.


>> What doesn't work well is synchronizing the oscar loaded objects 
>> across a cluster and serializing the objects into the session.
>>
>> Though the serialization works pretty well, the receiving side can't 
>> instantiate the objects, as the classes can't be found by the servlet 
>> container's classloader.
>
> Right. That's where having the servlet engine running as a bundle 
> makes a difference.

Yep. And thats where both Cocoon and Wicket will have problems.
 

>> The Wicket framework has run into this problem as well. Everything 
>> works quite well when run in a whole OSGi environment, but when 
>> there's a mix'n'match with classloaders your in for some hard 
>> thinking. We woul also like to see some solution for this problem ;-) 
>> Bright ideas are welcome!
>
> Thanks for this answer!

No problem, I /really/ like the bundles of OSGi, and already use it in a 
production system (from within WebSphere and JBoss). I would like to see 
the classloading problem solved as that would help Wicket and Felix (and 
apparently now Cocoon as well) tremendously.

Martijn



Mime
View raw message