karaf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Pieber <anpie...@gmail.com>
Subject Re: Starting/Stopping Programmatically Bundles
Date Mon, 16 Jan 2012 17:27:50 GMT
Hey,

On Mon, Jan 16, 2012 at 18:23, Hervé BARRAULT <herve.barrault@gmail.com>wrote:

> I haven't register the Bundle Listener, as i thought exposing a
> BundleListener as an OSGI service does something like this.
>

"Exposing a BundleListener" typically means register it in the OSGi
registry; and this is done as JB had shown.


> Is this bundleContext linked to the current bundle or all bundle ?
>

Well, bundleContext.getBundle() will return the "current" bundle; but you
can also access other bundles using bundleContext.getBundle(ID) or one of
the other overloads.


> My Bundle "Checker" shall listener to other bundle and manipulate
> them. I will try the BundleActivator to get the BundleContext.
>

If you really want to check other bundles once they come up the
BundleListener is the perfect way to go. You can access the bundle object
of the bundles started through the event. so you can also manipulate them
there.

Btw, don't you want to upgrade to a newer Karaf version (although It's not
required for your specific use case) there where many bugs fixed between
2.0.0 and 2.2.5.

Kind regards,
Andreas


>
> Regards
> Hervé
>
> On 1/16/12, Jean-Baptiste Onofré <jb@nanthrax.net> wrote:
> > Hi Hervé,
> >
> > Did you register your listener in the bundle context, with something
> like ?:
> >
> > getBundleContext().addBundleListener(myBundleListener);
> >
> > To start/stop bundle, you can do:
> >
> > getBundleContext().getBundle(id).stop()...
> >
> > Regards
> > JB
> >
> > On 01/16/2012 06:07 PM, Hervé BARRAULT wrote:
> >> HI, i'm using Karaf 2.0.0 and i'm trying to find a way to start/stop a
> >> bundle with java code.
> >>
> >> I have difficulties to find the right API to use (and which service to
> >> import).
> >>
> >> I have tried to create a BundleListener and expose it as an osgi
> >> service (in order to being notified of bundles start/stop) but i'm not
> >> notified.
> >> I thought getting data about bundles and being able to manipulate it.
> >>
> >> What are the correct steps to do this ?
> >>
> >> Regards
> >> Hervé
> >
> > --
> > Jean-Baptiste Onofré
> > jbonofre@apache.org
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
> >
>

Mime
View raw message