in cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/Activator.java [92:145]
public void start(BundleContext bundleContext) throws Exception {
_logs = new Logs.Builder(bundleContext).build();
_log = _logs.getLogger(Activator.class);
_containerTracker = new ServiceTracker<>(
bundleContext, CDIContainerInitializer.class,
new ServiceTrackerCustomizer<CDIContainerInitializer, ServiceObjects<CDIContainerInitializer>>() {
@Override
public ServiceObjects<CDIContainerInitializer> addingService(
ServiceReference<CDIContainerInitializer> reference) {
return bundleContext.getServiceObjects(reference);
}
@Override
public void modifiedService(ServiceReference<CDIContainerInitializer> reference,
ServiceObjects<CDIContainerInitializer> service) {
}
@Override
public void removedService(ServiceReference<CDIContainerInitializer> reference,
ServiceObjects<CDIContainerInitializer> service) {
}
}
);
_containerTracker.open();
_containerListeners = new ServiceTracker<>(bundleContext, ContainerListener.class, null);
_containerListeners.open();
_executorService = Executors.newSingleThreadExecutor(worker -> {
Thread t = new Thread(new ThreadGroup("Apache Aries CCR - CDI"), worker, "Aries CCR Thread (" + hashCode() + ")");
t.setDaemon(false);
return t;
});
_promiseFactory = new PromiseFactory(_executorService);
_ccr = new CCR(_promiseFactory, _logs);
_command = new CDICommand(_ccr);
if (_log.isDebugEnabled()) {
_log.debug("CCR starting {}", bundleContext.getBundle());
}
_bundleContext = bundleContext;
registerCCR();
registerCDICommand();
super.start(bundleContext);
if (_log.isDebugEnabled()) {
_log.debug("CCR started {}", bundleContext.getBundle());
}
}