import org.osgi.service.component.annotations.*;
import org.osgi.service.component.ComponentContext;
import org.osgi.util.tracker.ServiceTracker;
import org.osgi.framework.Constants;
@Component
public class MyComponent {
private ServiceTracker executorTracker;
@Activate
protected void activate(ComponentContext componentContext) {
executorTracker = new ServiceTracker(
componentContext.getBundleContext(),
Executor.class.getName(), null);
executorTracker.open();
}
@Deactivate
protected void deactivate() {
executorTracker.close();
}
public void executeAsyncTask() {
Executor executor = (Executor) executorTracker.getService();
executor.execute(() -> {
});
}
}