[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Bundle with Extension can be invoked in RESOLVED state

Currently extensions are tied to the resolution state of the bundle (not the active state). See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=210104 for an enhancement request to tie extension registry contributions to the active lifecycle of the bundle.

Tom



Inactive hide details for André Hildebrandt ---03/25/2009 01:56:54 PM---What is the reason for this behaviour? I can workaroundAndré Hildebrandt ---03/25/2009 01:56:54 PM---What is the reason for this behaviour? I can workaround my problem by


From:

André Hildebrandt <myself@xxxxxxxxxxxxxxx>

To:

Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

Date:

03/25/2009 01:56 PM

Subject:

Re: [equinox-dev] Bundle with Extension can be invoked in RESOLVED state




What is the reason for this behaviour? I can workaround my problem by  
extending my extension point interface and making the extensions  
evaluate the Bundle.getState() to check if the bundle is active. But  
to me this behaviour seems somewhat unintuitive, and I would have  
thought that this is taken care of by the framework.

Best Regards,

André


On Mar 25, 2009, at 7:22 PM, Raval, Parag wrote:

>
> Yes. I think you can still access the Bundle and its classes but can  
> not access the BundleContext or interact with the OSGi framework, if  
> the Bundle is not in the ACTIVE state.
>
> Regards,
> Parag
>
> -----Original Message-----
> From: equinox-dev-bounces@xxxxxxxxxxx [
mailto:equinox-dev-bounces@xxxxxxxxxxx 
> ] On Behalf Of André Hildebrandt
> Sent: Wednesday, March 25, 2009 11:08 AM
> To: equinox-dev@xxxxxxxxxxx
> Subject: [equinox-dev] Bundle with Extension can be invoked in  
> RESOLVED state
>
> Hi,
>
> I hope I have not totally missed the point, but I have a bundle,  
> let's call it B, that contains an extension for an extension point  
> defined in bundle A. When I invoke a servlet in bundle A the  
> extensions for the extension point are read out and the extension  
> implementations are instantiated. A method getName() is called on  
> the instances to provide a list of the available extensions. This  
> works fine. However if in the osgi console I enter "stop B" and  
> invoke my servlet in bundle A, it still can (and does) access the  
> extension implementation in B. I have verified the state of B by  
> typing "ss" in the osgi console and I'm told its in the RESOLVED  
> state. I can make my scenario work by executing "uninstall B", but  
> am surprised that stop is not enought. I read the javadoc about what  
> RESOLVED means, but somehow this did not IMO clearly state if a  
> bundle in RESOLVED state can be accessed.
> Should a bundle that has been stopped still be accessible?
>
> Best Regards,
>
> André_______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/equinox-dev
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


GIF image

GIF image