Sling Annotations | Community
Skip to main content
Madhur-Madan
Community Advisor
Community Advisor
March 13, 2023
Solved

Sling Annotations

  • March 13, 2023
  • 1 reply
  • 704 views

Which annotation is prefered to access the Service inside another service and why? @3214626 or @OSGiService.

 

Thanks

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by lukasz-m

Hi @madhur-madan,

On OSGi service level you should use Reference annotation. So this will be option you should use in case you want to get reference of other OSGi service inside another.

import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; @Component public class YourService { @Reference private OtherService otherService; }

 

OSGiService annotation is dedicated for Sling Model it will not work inside OSGi service/component. You can use it, in case you would like to inject OSGi Service into your Sling Model.

See also below links:

1 reply

lukasz-m
Community Advisor
lukasz-mCommunity AdvisorAccepted solution
Community Advisor
March 13, 2023

Hi @madhur-madan,

On OSGi service level you should use Reference annotation. So this will be option you should use in case you want to get reference of other OSGi service inside another.

import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; @Component public class YourService { @Reference private OtherService otherService; }

 

OSGiService annotation is dedicated for Sling Model it will not work inside OSGi service/component. You can use it, in case you would like to inject OSGi Service into your Sling Model.

See also below links: