Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

How I can see my service in Felix console

Avatar

Level 7

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 ..

1580771_pastedImage_6.png

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;

                  }

               

  1. HelloService.java(This is my interface ,I have made this because service must implement at least one service)

=====================================================================================================

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();

}

  1. HelloServiceImpl .java(This is my service )

=====================================================================================================

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);

    }

}

5 Replies

Avatar

Community Advisor

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



Arun Patidar

Avatar

Level 7

Thanks my bundle was in Installed status ....I didn't notice

Avatar

Employee Advisor

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

Avatar

Community Advisor

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)



Arun Patidar

Avatar

Employee Advisor

Ah, sorry, overlooked the @Service (bad formatting).

Jörg