OSGI: Reinstall eines Bundles mit dem State UNINSTALLED schlägt fehl

justincaseof

Grünschnabel
Hi!

im Zuge eines Rollbacks für einen Updateprozess versuche ich ein Bundle, welches zuvor mit bundle.uninstall() in den Zustand UNINSTALLED gesetzt wurde, wieder zu installieren.
Dies bewerkstellige ich in etwa so:
Code:
private void rollBack(List<Bundle> rollbackCandidates)
{
    for (Bundle bundle : rollbackCandidates)
    {
        Bundle newbundle = bundleContext.installBundle( bundle.getLocation() );
        newbundle.start();
    }
}
Dies schlägt jedoch fehl, aufgrund einer MalformedURLException.
bundle.getLocation() liefert folgenden String:
Code:
initial@reference:file:plugins/myplugin_1.0.3533.jar

ein URL-object mit diesem String als Konstruktorargument wirft ebenfalls eine MalformedURLException.

Laut Javadoc für die Methode bundle.getLocation() sollte die zurückgegebene URL jedoch genau das sein, was für bundleContext.install( String location ) gebraucht wird.

Was mache ich falsch?
Vielen Dank für jegliche Hilfen!

Viele Grüße,
der Tobi
 

Neue Beiträge

Zurück