felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anders Engström <epirea...@gmail.com>
Subject Re: Missing Framework Event on Bundle start failure
Date Tue, 17 Mar 2015 20:33:43 GMT

Hi - thanks for replying, Richard!

On 03/17/2015 01:37 PM, Richard S. Hall wrote:
> On 3/17/15 04:34 , Anders Engström wrote:
>> Hi!
>>
>> I'm deploying bundles at runtime in a Felix container and was expecting
>> the container to generate a FrameworkEvent (of type ERROR) if a call to
>> `Bundle#start()` fails with an exception.
>>
[snip]
>>
>> Is this by design - or should a failure to start a bundle trigger a
>> FrameworkEvent.ERROR?
>
> I don't believe the specification indicates that a framework event is fired in this case,
does it?
>

Yupp - you're correct.. Looks like none of the `Bundle` methods triggers
FrameworkEvents. I guess it makes sense since a failing bundle isn't
really an issue with "the framework".

Alright - so Felix behaves as expected. Any suggestions for how to solve
my problem? :)

> Some context: I'm writing an integration test that verifies that a set
> of bundles can be cleanly deployed into our container. My assumption
> was that I could check if there are any failure by listening to
> Framework events and fail the test if there are any ERRORS.

Actually - I'm deploying a set of bundles from an ESA (sub-system
bundle) installed by a custom FileInstall ArtifactListener. I don't
(_want to_) know which bundles will be installed -- I basically only
want to check that there are no errors.

Here are some idea - any additional suggestions are welcome:

- Check that one or more 'known bundles' gets installed (this is what I
   do now).
- Hack another custom FileInstall Artifact Listener that is published
   in the OSGi container. The ArtifactListener would delegate to the
   'real' ArtifactListener but catch any exception and fail the test.
- Install a (Synchronous) BundleListener that checks for bundles that
   are INSTALLED/STARTING and then goes to STOPPED (without being STARTED). This
   would indicate that there was an error starting the bundle.
- Hack my custom Artifact Listener to do some custom notification when
   deploying (and failing) subsystem bundles. Maybe using the Event Admin
   or by calling custom (whiteboard style) listeners.

Best regards //Anders

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Mime
View raw message