import org.osgi.service.event.Event;
import org.osgi.service.event.EventHandler;
import org.osgi.service.event.EventAdmin;
public class EventSubscriber implements EventHandler {
private EventAdmin eventAdmin;
public void setEventAdmin(EventAdmin eventAdmin) {
this.eventAdmin = eventAdmin;
}
public void handleEvent(Event event) {
System.out.println("Received event: " + event.getTopic());
}
public void start() {
eventAdmin.subscribe("my/topic", this);
}
public void stop() {
eventAdmin.unsubscribe("my/topic", this);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="EventSubscriber">
<implementation class="com.example.EventSubscriber"/>
<service>
<provide interface="org.osgi.service.event.EventHandler"/>
</service>
</scr:component>