Hello,
Thank you very much for the answers. One more question. Can the bundle
fragment have a resource in its own classpath and that resource can be
loaded by the host bundle?

Thanks
Matt
On Sep 7, 2011 3:11 AM, "Timothy Ward" <[email protected]> wrote:
>
> Hi,
>
> From the original question I would say "No, there is no way for a host
bundle to receive a notification when a fragment attaches". Fragments only
attach at resolution time, therefore the host bundle can never see the
attachment because it is, by definition, not resolved yet!
>
> What you can do is the following at startup (On OSGi 4.3):
>
> public void start(BundleContext ctx) throws BundleException {
>
> Bundle hostBundle = ctx.getBundle();
>
> BundleWiring wiring = hostBundle.adapt(BundleWiring.class);
>
> Collection<BundleWire> fragmentWires = wiring.
> getProvidedWires(BundleRevision.HOST_NAMESPACE);
>
> for(BundleWire wire : fragmentWires) {
> Bundle fragment = wire.getRequirerWiring().getBundle();
> //Do some stuff with this fragment
> }
> }
>
> This will allow you to find out which fragments were wired to your bundle
when it resolved.
>
> Regards,
>
> Tim
>
> From: [email protected]
> Date: Wed, 7 Sep 2011 08:54:57 +0100
> Subject: Re: OSGi (Blueprint) fragment and host bundle notification
> To: [email protected]
>
> Hi Matt, A web search for "osgi bundle tracker fragment" yields this
article: http://java.dzone.com/articles/osgi-junit-test-extender-using. This
uses a BundleTrackerCustomizer,
>
>
>
>
> bundleTracker = new BundleTracker(context, Bundle.RESOLVED, testExtender);
>
> bundleTracker.open();
>
>
> Which then tests to see if it's been given a fragment:
> String fragment =
bundle.getHeaders().get(org.osgi.framework.Constants.FRAGMENT_HOST) + "";
>
>
>> Thanks in advance!
> You're welcome!
> Regards, Mark
>
> On 6 September 2011 23:14, Matt Madhavan <[email protected]> wrote:
>
>
> Hello,I would like to know when a new BluePrint fragment attaches it self
to a host bundle will the host bundle be notified? I would like to do some
work inside of the host bundle anytime a fragment attaches itself to a host.
>
>
>
> Any ideas?
> Thanks in advance!Matt Madhavan
>
>

Reply via email to