Hi everyone!

We ran into an issue with running two webapps with different versions of Felix 
(1.2.1 and 2.0.1) in the same VM. The symptom we see is that it can't find the 
the framework context as described in an existing issue 
(<http://issues.apache.org/jira/browse/FELIX-1834>). The problem was that the 
class name of the class loader that is used to detect the context changed 
between 1.2.1 and 2.0. The committed fix only helps if the application which 
uses Felix 2.0 starts up first, because then the 2.0 version of URLHandlers is 
used. If the application with Felix 1.2 starts up first you run into the same 
problem as before. So I patched Felix 1.2 as well to check against the class 
name of the Felix 2.0 class loader, which makes the applications apparently run 
fine, no matter in which order they start.

Even though it seems to work fine, I'm a bit worried that the Felix 2.0 
application is using the Felix 1.2 URLHandlers class and dependencies. Do you 
guys see any issues with that?

I don't know much about Felix, but wouldn't it be better to have a very small 
dispatching URLStreamHandlerFactory which chooses the actual 
URLStreamHandlerFactory to use based on the class loader (like it does for the 
context now). That would minimize the overlap of code between versions of Felix.

Cheers,
Chris

Reply via email to