I am able to see my bundle in aem felix console but I want to see my service HelloServiceImpl I am not able to find ..
Develop.java(This is my consumer class who will consume my services)
=====================================================================================================
package amitsample.core.filters;
import com.adobe.cq.sightly.WCMUse;
import amitsample.core.filters.HelloService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Develope extends WCMUse {
Logger logger = LoggerFactory.getLogger(Develope.class);
protected String details;
@Override
public void activate() throws Exception {
HelloService serv= getSlingScriptHelper().getService(HelloService.class);
details=serv.getRepositoryName();
logger.info("this is the first log values");
}
public String getDetails() {
return details;
}
=====================================================================================================
package amitsample.core.filters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* A simple service interface
*/
public interface HelloService{
/**
* @return the name of the underlying JCR repository implementation
*/
public String getRepositoryName();
}
=====================================================================================================
package amitsample.core.filters;
import javax.jcr.Repository;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.jcr.api.SlingRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Service
@Component(immediate = true)
public class HelloServiceImpl implements HelloService {
Logger logger = LoggerFactory.getLogger(HelloServiceImpl.class);
@Reference
private SlingRepository repository;
public String getRepositoryName() {
logger.info("this is the first log values inside Helloserviceimp class");
return repository.getDescriptor(Repository.REP_NAME_DESC);
}
}
Hi,
Can you check if is it registered as service or component? your service should be listed at above url.
Check http://localhost:4502/system/console/components
Thanks my bundle was in Installed status ....I didn't notice
Views
Replies
Total Likes
I wonder why it is listed as service. It's only a component, but not a service.
You are using the Felix SCR annotations, which means that you need to use both @Component and @Service; if you switch to the OSGI components, @Comonent is sufficient.
Jörg
Views
Replies
Total Likes
Hi Jorg,
He is using Felix annotation and used service annotation as well thats why it should be listed as service. Initially I was also confused then I saw service annotation just below imports
import org.slf4j.LoggerFactory;
@Service
@Component(immediate = true)
Views
Replies
Total Likes
Ah, sorry, overlooked the @Service (bad formatting).
Jörg
Views
Replies
Total Likes
Views
Like
Replies
Views
Likes
Replies