Hi Sneha,
I would recommmend you to use osgi annotation instead of felix scr specific annotations, although there is no hard rule to adapt to the latest version
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.Designate;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Designate(ocd = RssfeedScheduler.Config.class)
@Component(service = Runnable.class)
public class RssfeedScheduler implements Runnable {
@ObjectClassDefinition(name = "A scheduled task", description = "Cron-job like task with properties")
public static @interface Config {
@AttributeDefinition(name = "Cron-job expression")
String scheduler_expression() default "0 0/15 * 1/1 * ? *";
@AttributeDefinition(name = "Concurrent task", description = "Whether or not to schedule this task concurrently")
boolean scheduler_concurrent() default false;
}
private final Logger log = LoggerFactory.getLogger(this.getClass());
public void run() {
log.error("RSSfeed*** This is test to check if cron job is working********");
log.info(" in info scheduler***");
}
@Activate
public void activate(final Config config) {
log.error("In scheduler ****");
log.info("In scheduler123 ****");
}
}
Here is an example for OSGi R7 annotation, To use the OSGi R7 annotations, add these dependencies
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.cmpn</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component</artifactId>
<version>1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.metatype.annotations</artifactId>
<version>1.4.0</version>
<scope>provided</scope>
</dependency>
/Brijesh