2009/4/15 Richard S. Hall <[email protected]>

> I think you are not correct.
>
> If a bundle has no wire to the package, which system bundle shouldn't since
> it cannot import, then it should get back all service references. I think
> the spec assumes you are using reflection if you have no wire to the
> package. I cannot remember if this behavior is spec'ed some place but I
> thought so. At least that's what we do in Felix (and Equinox, I believe).
>

ah... 5.9.1 of the core spec:

  "The service registry must therefore ensure that bundles can only see
services that are not
   incompatible with them. A service is not incompatible with the bundle
getting the service when
   that bundle is not wired to another source class loader for this
interface package than the
   bundle registering the service. That is, it is either wired to the same
source class loader or
   it has no wire for that package at all."

but I think Alan has a point that if you read the javadoc for
ServiceReference.isAssignableTo()
it does seem to apply a stronger rule: that is it returns true if both
bundles use the same source
for the package, otherwise false

so if the bundle providing the service has a wire, and the bundle using the
service doesn't have
a wire, does that mean they use the "same source" for the package?
(isAssignableTo() == true)

-> richard
>
> On 4/14/09 8:09 PM, Alan D. Cabrera wrote:
>
>> After reading the core spec it seems that if I look for service using the
>> system bundle context, I will never be able to find any application specific
>> service.  Let me explain my reasoning and maybe someone can show me where my
>> disconnect is occurring.
>>
>> Upon reading the definition of the getServiceReferences() method I see
>> that isAssignableTo() must be called with all the service interfaces and the
>> bundle that is being used to perform the "call" to getServiceReferences().
>>
>> It seems to me that if I pass the system bundle to isAssignableTo() I will
>> get false for just about all the application specific service interfaces.
>>
>> If that is true then it seems that I will not be able to retrieve most
>> service references with the system bundle.
>>
>> Am I correct?
>>
>>
>> Regards,
>> Alan
>>
>>
>> _______________________________________________
>> OSGi Developer Mail List
>> [email protected]
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>



-- 
Cheers, Stuart
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to