I noticed multiple ways in which developers create an Apache Felix Service. Each of the attached snippets seem to work. Would need some help to understand, which syntax is best for which scenario
Sample 1: Service created without interface
- Declaration of Service
D
@Component
@Service(ServiceViaClass.class)
public class ServiceViaClass{
}
Using service via @Reference annotation
private ServiceViaClass serviceViaClass;
Sample 2:Service implementing interface. No value attribute for @Service annotation - Declaration of Service
@Component
@Service
public class ServiceViaInterfaceImpl implements ServiceViaInterface{
}
Using service via @Reference annotation
private ServiceViaInterface serviceViaInterface;
Sample 3: Service implementing interface with value attribute for @Service annotation - Declaration of Service
@Component
@Service(ServiceViaInterface.class)
public class ServiceViaInterfaceImpl implements ServiceViaInterface{
}
Using service via @Reference annotation
private ServiceViaInterface serviceViaInterface;