public void start()

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());
		}
	}