private static boolean isCamelCoreOsgiPresent() { try { getClassLoader(CdiCamelExtension.class).loadClass("org.apache.camel.core.osgi.OsgiCamelContextHelper"); return true; } catch (ClassNotFoundException | NoClassDefFoundError cause) { return false; } }
CdiCamelEnvironment() { hasBundleContext = isCamelCoreOsgiPresent() && hasBundleContext(CdiCamelExtension.class); }
private <T extends CamelContext> void camelContextBeans(@Observes ProcessInjectionTarget<T> pit, BeanManager manager) { pit.setInjectionTarget(environment.camelContextInjectionTarget(pit.getInjectionTarget(), pit.getAnnotatedType(), manager, this)); }
private <T extends CamelContext> void camelContextProducers(@Observes ProcessProducer<?, T> pp, BeanManager manager) { pp.setProducer(environment.camelContextProducer(pp.getProducer(), pp.getAnnotatedMember(), manager, this)); }
private SyntheticBean<?> camelContextBean(BeanManager manager, Class<?> beanClass, Annotation... qualifiers) { SyntheticAnnotated annotated = new SyntheticAnnotated(DefaultCamelContext.class, manager.createAnnotatedType(DefaultCamelContext.class).getTypeClosure(), beanClass, qualifiers); return new SyntheticBean<>(manager, annotated, DefaultCamelContext.class, environment.camelContextInjectionTarget( new SyntheticInjectionTarget<>(DefaultCamelContext::new), annotated, manager, this), bean -> "Default Camel context bean with qualifiers " + bean.getQualifiers()); }
environment.camelContextInjectionTarget( new SyntheticInjectionTarget<>(() -> { DefaultCamelContext context = createCamelContextWithTCCL(DefaultCamelContext::new, annotated);