Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

For my service Service Id is not getting Generated in my project bundle I cannot see it.

Avatar

Level 2

Below is the code for my service and its implementation

SimpleService.java :

 

package com.aem.demo.core;

public interface SimpleService
{
public String MyName();
}

 

SimpleServiceImpl.java :

 

package com.aem.demo.core.impl;

import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.aem.demo.core.SimpleService;

@component(metatype = true, label = "Simple Service Info")
public class SimpleServiceImpl implements SimpleService
{
private final Logger logger = LoggerFactory.getLogger(getClass());
@activate
public void activate(ComponentContext cc)
{
logger.info("------ Service Activated -----");
logger.info("\n {}={}", cc.getBundleContext().getBundle().getBundleId(), cc.getBundleContext().getBundle().getSymbolicName());
}

@Override
public String MyName()
{
// TODO Auto-generated method stub
return null;
}

}

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @ashwinikhaple,

 

If you are using R6 annotation, then please add the below line of code for service creation.

@Component(service=SimpleService.class,
immediate=true,
.
. )

If you are using SCR annotation,
You need to add the below code to register it as a service.

@Service(value = CustomerDemo.class)

 

 

Please refer to the below URL for the service creation while using SCR/R6 annotation.

https://www.argildx.com/technology/migration-of-scr-annotations-to-ds-annotations/

 

View solution in original post

3 Replies

Avatar

Community Advisor

Hi @ashwinikhaple try this:

 

@Component(metatype = true, label = "Simple Service Info")
@Service(value = SimpleService.class)

 

Thanks,

Bilal

Avatar

Correct answer by
Community Advisor

Hi @ashwinikhaple,

 

If you are using R6 annotation, then please add the below line of code for service creation.

@Component(service=SimpleService.class,
immediate=true,
.
. )

If you are using SCR annotation,
You need to add the below code to register it as a service.

@Service(value = CustomerDemo.class)

 

 

Please refer to the below URL for the service creation while using SCR/R6 annotation.

https://www.argildx.com/technology/migration-of-scr-annotations-to-ds-annotations/

 

Avatar

Employee Advisor

Can you please describe your problem? It's not entirely clear to me what is not working as expected, or what you are trying to achieve.