[ 
https://issues.apache.org/jira/browse/SLING-1888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler resolved SLING-1888.
-------------------------------------
    Resolution: Won't Fix

> Generalize support for framework restart and update
> ---------------------------------------------------
>
>                 Key: SLING-1888
>                 URL: https://issues.apache.org/jira/browse/SLING-1888
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>    Affects Versions:  Launchpad Base 2.2.0
>            Reporter: Felix Meschberger
>            Priority: Major
>
> Currently, the Sling launchpad implements controlled framework restart and 
> update by extending the Felix framework implementation class overwriting the 
> update() and update(InputStream) methods. This works fine with Apache Felix. 
> But it fails supporting other frameworks like Equinox where overwriting the 
> system bundle implementation is not as easy as in Apache Felix.
> The solution might be to leverage the Bundle FindHook interface proposed for 
> OSGi R4.3:
>     find(org.osgi.framework.BundleContext context, 
> Collection<org.osgi.framework.Bundle> bundles)
> This hook is called whenever the BundleContext.getBundles() or 
> BundleContext.getBundle(long) method is called. It allows the hook 
> implementor to limit the returned bundles or otherwise modify the collection 
> of bundles returned.
> Our implementation would check whether the system bundle (bundle ID 0) is 
> amongst the returned bundles. If so, a wrapper is created which overwrites 
> the update() and update(InputStream) methods to actually implement Sling's 
> Launchpad functionality:
>     * Restart the framework in new class loader upon update()
>     * Update the framework and restart it in a new class loader upon 
> update(InputStream)
> This would allow us to also fully support Equinox as a framework to launch.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to