The only "workaround" that comes to my mind is to have a service started in
the highest startlevel, that might indicate you're done, though blueprint
contextes are started asynchronous from standard start levels.

regards, Achim

2014-12-10 22:37 GMT+01:00 Nick Baker <[email protected]>:

>  Yea we’re in a transitional phase where Karaf is embedded within a
> non-OSGI environment. It would be very useful for this outside application
> to know when Karaf is fully started as I described. I guess we’ll continue
> employing the loop/sleep code for now.
>
>  We may need to revisit this soon though. I can customize Apache
> FileInstall to send an Event when it’s completed one directory scan. Is
> there anything available to me on the Karaf-side to know when the features
> list has been processed?
>
>  Thanks,
> -Nick
>
>   From: Achim Nierbeck <[email protected]>
> Reply-To: "[email protected]" <[email protected]>
> Date: Wednesday, December 10, 2014 at 4:27 PM
> To: "[email protected]" <[email protected]>
> Subject: Re: How to execute code after bundles started by Felix
> FileInstall?
>
>   Hmm, sorry to say this, but this seems like a flaw in design here.
> As all in Karaf/OSGi is a service which might be there or might not be
> there you
> never know if "everything" is loaded. If your application needs certain
> "dependencies" to be available
> make sure your application is depending on other services. That's the
> modularity level you want to go.
> Start levels are only there to help a bit with this scenario during the
> startup phase of the container as some
> services should/could be available a bit more earlier, like a logging
> service. So all other services can profit from it.
>
>  Another way of "watching" or waiting for other Bundles is to use
> BundleTrackers or Extenders.
>
>  Regards, Achim
>
>
>
> 2014-12-10 21:29 GMT+01:00 Nick Baker <[email protected]>:
>
>> We have a similar requirement which I¹m sad to say is being worked around
>> with wait code. We can¹t know the list of bundles/features which will be
>> deployed and required ahead of time. Our ETL application runs
>> transformations after startup which may contain steps provided by plugins
>> (deployed as bundles). When can the application be certain that the Karaf
>> environment is fully initialized, all features have been installed and
>> FileInstall has done a pass over the configured directories? Today if the
>> step component isn¹t available we loop/wait for a configurable timeout
>> then fail if it hasn¹t become available.
>>
>> -Nick
>>
>>
>> On 12/10/14, 2:50 PM, "Jean-Baptiste Onofré" <[email protected]> wrote:
>>
>> >You can implement a BundleListener to catch when the bundle is
>> >installed/started and do some code.
>> >
>> >Regards
>> >JB
>> >
>> >On 12/10/2014 08:20 PM, thully wrote:
>> >> Our project (Cytoscape) utilizes Karaf for OSGi bundle loading and
>> >> management. We are using Felix FileInstall to load additional bundles
>> >> ("apps") installed by users. As it stands, the bundles loaded by Felix
>> >> FileInstall load after all other bundles. While this is generally what
>> >>we
>> >> want, we do have some code that we'd like to trigger after the bundles
>> >> loaded by FileInstall have started - or at least after an attempt has
>> >>been
>> >> made to start them.
>> >>
>> >> Is there a way to do this? It doesn't seem like Felix FileInstall has
>> >>much
>> >> of an API to speak of, though it seems this may be possible by using
>> >>Karaf
>> >> runlevels - particularly with the ability to respect load order on
>> >>3.0.2.
>> >> If not, it seems like we may need to move away from Felix FileInstall
>> >>and
>> >> write our own bundle installation mechanism...
>> >>
>> >>
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> http://karaf.922171.n3.nabble.com/How-to-execute-code-after-bundles-start
>> >>ed-by-Felix-FileInstall-tp4037120.html
>> >> Sent from the Karaf - User mailing list archive at Nabble.com.
>> >>
>> >
>> >--
>> >Jean-Baptiste Onofré
>> >[email protected]
>> >http://blog.nanthrax.net
>> >Talend - http://www.talend.com
>>
>>
>
>
>  --
>
> Apache Member
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> blog <http://notizblog.nierbeck.de/>
> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>
>  Software Architect / Project Manager / Scrum Master
>
>


-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

Reply via email to