On Thursday, 9 February 2012 at 18:10, Nicolas Roduit wrote:
> 
> Thanks for your quick answer.
> > > Hi all,
> > > 
> > > I've made an application with the latest release of Apache Felix 
> > > framework and set the property "org.osgi.framework.storage.clean" to 
> > > "none". Bundles are not loaded correctly when a bundle come from an 
> > > different location of the one during the previous launch. Having 
> > > different URLs for the same bundle seems to be an issue if the cache is 
> > > not cleared.
> > > I see in log: Bundle symbolic name and version are not unique
> > > 
> > > It is a client application deploy through Java Web Start form several 
> > > providers. So cleaning the cache at every launch is not a solution. Is 
> > > there any recommendations for having multiple repositories with identical 
> > > bundles?
> > Not sure I totally understand your desire. You cannot install the same 
> > bundle more than once, even if the location URL changes (technically, there 
> > is a way to do this in the R4.3 spec, it is not really encouraged). If the 
> > bundle is already installed, then there isn't much reason to install it 
> > again, is there?
> 
> 
> Definitely not.
> > As I said, I'm not clear what you want to do. The issue isn't whether or 
> > not your repositories have identical bundles, it is whether or not you want 
> > to blindly install bundles even if they are duplicates.
> 
> 
> No, I do not want blindly install bundles.
> > The simple thing to do is to do is check the bundle exception from an 
> > install to determine if it is due to a duplicate, if so, then you are fine 
> > since the bundle is already installed.
> > 
> > -> richard
> The problem was the bundle exception that is thrown when a bundle has a 
> different location, because some codes after installBundle() was not 
> executed. This code try to install a bundle fragment containing 
> translations. It is now ok, I moved this code in a finally{}.
> 
> It would better if the method context.installBundle() will return the 
> bundle (without installing it) even when the location is different and 
> log could generate a warning. In my case, I need information about the 
> bundle to find its fragment.

If the install method gave back a handle for a Bundle object that was not an 
actually installed bundle, then the lifecycle graph would need an additional 
state. I don't think this is desirable.

If you need to inspect a bundle without installing it, you can always use the 
java.util.jar.JarFile/JarInputStream API to read the manifest and entries.

Regards,
Neil


 
> 
> Best,
> 
> Nicolas
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected] 
> (mailto:[email protected])
> For additional commands, e-mail: [email protected] 
> (mailto:[email protected])




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to