karaf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ward <tim.w...@paremus.com>
Subject Re: SCR Reference annotation on field
Date Tue, 23 Aug 2016 22:32:30 GMT
This is absolutely correct. 

The "Release 6" version of declarative services supports field injection. The "Release 5"
version that you are depending on does not!

Regards,

Tim

Sent from my iPhone

> On 23 Aug 2016, at 22:43, Alex Soto <alex.soto@envieta.com> wrote:
> 
> Hello,
> 
> I am new SCR, but based on the "The OSGi Alliance OSGi Compendium, Release 6 July 2015"
 the Reference annotation can be applied to fields.
> @Reference
> 
> Identify the annotated member as a reference of a Service Component. When the annotation
is applied to a method, the method is the bind method of the reference. When the annotation
is applied to a field, the field will contain the bound service(s) of the reference. This
annotation is not processed at runtime by Service Component Runtime. It must be processed
by tools and used to add a Component Description to the bundle. In the generated Component
Description for a component, the references must be ordered in ascending lexicographical order
(using String.compareTo ) of the reference names.
> 
> The reference element of a Component Description. CLASS
> METHOD,FIELD 
> 
> 
> 
> However, the actual jar declaring this annotation from Maven import: 
> 
>   <groupId>org.osgi</groupId>
>   <artifactId>org.osgi.compendium</artifactId>
>   <version>5.0.0</version>
> Does not support Field, only Method.  So I can’t apply the @Reference annotation to
fields.
> 
> What am I missing? 
> 
> Best regards,
> 
> Alex soto
> 
> 
> 
> 

Mime
View raw message