public WeldBootstrap() { weldStartup = new WeldStartup(); beansXmlParser = new BeansXmlParser(); }
@Override public synchronized Bootstrap deployBeans() { checkInitializationNotAlreadyEnded(); weldStartup.deployBeans(); return this; }
@Override public synchronized Bootstrap endInitialization() { if (weldStartup != null) { weldStartup.endInitialization(); weldStartup = null; } return this; }
public void validateBeans() { BootstrapLogger.LOG.validatingBeans(); tracker.start(Tracker.OP_VALIDATE_BEANS); try { for (BeanDeployment beanDeployment : getBeanDeployments()) { BeanManagerImpl beanManager = beanDeployment.getBeanManager(); beanManager.getBeanResolver().clear(); deployment.getServices().get(Validator.class).validateDeployment(beanManager, beanDeployment); beanManager.getServices().get(InjectionTargetService.class).validate(); } } catch (Exception e) { validationFailed(e); throw e; } getContainer().setState(ContainerState.VALIDATED); tracker.start(Tracker.OP_ADV); AfterDeploymentValidationImpl.fire(deploymentManager); tracker.end(); tracker.end(); }
tracker.start(Tracker.OP_BOOTSTRAP); tracker.start(Tracker.OP_START_CONTAINER); checkApiVersion(); registry.add(WeldConfiguration.class, configuration); setExtensions(deployment.getExtensions()); tracker.start(Tracker.OP_INIT_SERVICES); setupInitialServices(); addImplementationServices(registry); verifyServices(registry, environment.getRequiredDeploymentServices(), contextId); if (!registry.contains(TransactionServices.class)) { BootstrapLogger.LOG.jtaUnavailable(); this.deploymentManager = BeanManagerImpl.newRootManager(finalContextId, "deployment", registry); Container.initialize(finalContextId, deploymentManager, ServiceRegistries.unmodifiableServiceRegistry(deployment.getServices())); getContainer().setState(ContainerState.STARTING); this.contexts = createContexts(registry); this.deploymentVisitor = new DeploymentVisitor(deploymentManager, environment, deployment, contexts, bdaMapping); BootstrapLogger.LOG.legacyDeploymentMetadataProvided();
public void endInitialization() { tracker.start(Tracker.OP_END_INIT); final BeanIdentifierIndex index = deploymentManager.getServices().get(BeanIdentifierIndex.class); if (index != null) { index.build(getBeansForBeanIdentifierIndex()); flushCaches(); deploymentManager.getServices().cleanupAfterBoot(); deploymentManager.cleanupAfterBoot(); for (BeanDeployment beanDeployment : getBeanDeployments()) { BeanManagerImpl beanManager = beanDeployment.getBeanManager(); beanManager.getInterceptorMetadataReader().cleanAfterBoot(); beanManager.getServices().cleanupAfterBoot(); beanManager.cleanupAfterBoot(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.getBeanDeployer().cleanup(); final BeanDeploymentModules modules = deploymentManager.getServices().get(BeanDeploymentModules.class); if (modules != null) { modules.processBeanDeployments(getBeanDeployments()); BootstrapLogger.LOG.debugv("EE modules: {0}", modules); getContainer().setState(ContainerState.INITIALIZED); tracker.close();
public void deployBeans() { tracker.start(Tracker.OP_DEPLOY_BEANS); for (BeanDeployment deployment : getBeanDeployments()) { deployment.createBeans(environment); for (BeanDeployment deployment : getBeanDeployments()) { deployment.getBeanDeployer().processClassBeanAttributes(); deployment.getBeanDeployer().createProducersAndObservers(); for (BeanDeployment deployment : getBeanDeployments()) { deployment.getBeanDeployer().processProducerAttributes(); deployment.getBeanDeployer().createNewBeans(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.deploySpecialized(environment); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.deployBeans(environment); getContainer().setState(ContainerState.DISCOVERED); flushCaches(); flushCaches(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.getBeanManager().getServices().get(InjectionTargetService.class).initialize(); beanDeployment.afterBeanDiscovery(environment); getContainer().putBeanDeployments(bdaMapping);
tracker.start(Tracker.OP_START_INIT); Set<BeanDeployment> physicalBeanDeploymentArchives = new HashSet<BeanDeployment>(getBeanDeployments()); extensionBeanDeployer.deployBeans(); installFastProcessAnnotatedTypeResolver(deploymentManager.getServices()); deploymentManager.addBean(new BeanManagerBean(deploymentManager)); deploymentManager.addBean(new BeanManagerImplBean(deploymentManager)); deploymentVisitor.visit(); beanDeployment.createClasses(); deploymentVisitor.visit(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.createTypes(); tracker.end(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.createEnablement(); tracker.end();
private void flushCaches() { deploymentManager.getBeanResolver().clear(); deploymentManager.getAccessibleLenientObserverNotifier().clear(); deploymentManager.getGlobalStrictObserverNotifier().clear(); deploymentManager.getGlobalLenientObserverNotifier().clear(); deploymentManager.getDecoratorResolver().clear(); deploymentManager.getInterceptorResolver().clear(); deploymentManager.getNameBasedResolver().clear(); for (BeanDeployment beanDeployment : getBeanDeployments()) { BeanManagerImpl beanManager = beanDeployment.getBeanManager(); beanManager.getBeanResolver().clear(); beanManager.getAccessibleLenientObserverNotifier().clear(); beanManager.getDecoratorResolver().clear(); beanManager.getInterceptorResolver().clear(); beanManager.getNameBasedResolver().clear(); } }
/** * Right now, only session and conversation scoped beans (except for built-in beans) are taken into account. * * @return the set of beans the index should be built from */ private Set<Bean<?>> getBeansForBeanIdentifierIndex() { Set<Bean<?>> beans = new HashSet<Bean<?>>(); for (BeanDeployment beanDeployment : getBeanDeployments()) { for (Bean<?> bean : beanDeployment.getBeanManager().getBeans()) { if (!(bean instanceof AbstractBuiltInBean<?>) && (bean.getScope().equals(SessionScoped.class) || bean.getScope().equals(ConversationScoped.class))) { beans.add(bean); } } } return beans; }
private void validationFailed(Exception failure) { for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.getBeanManager().validationFailed(failure, environment); } }
tracker.start(Tracker.OP_BOOTSTRAP); tracker.start(Tracker.OP_START_CONTAINER); checkApiVersion(); registry.add(WeldConfiguration.class, configuration); setExtensions(deployment.getExtensions()); tracker.start(Tracker.OP_INIT_SERVICES); setupInitialServices(); addImplementationServices(registry); verifyServices(registry, environment.getRequiredDeploymentServices(), contextId); if (!registry.contains(TransactionServices.class)) { BootstrapLogger.LOG.jtaUnavailable(); this.deploymentManager = BeanManagerImpl.newRootManager(finalContextId, "deployment", registry); Container.initialize(finalContextId, deploymentManager, ServiceRegistries.unmodifiableServiceRegistry(deployment.getServices()), environment); getContainer().setState(ContainerState.STARTING); this.contexts = createContexts(registry); this.deploymentVisitor = new DeploymentVisitor(deploymentManager, environment, deployment, contexts, bdaMapping); BootstrapLogger.LOG.legacyDeploymentMetadataProvided();
index.build(getBeansForBeanIdentifierIndex()); flushCaches(); deploymentManager.getServices().cleanupAfterBoot(); deploymentManager.cleanupAfterBoot(); for (BeanDeployment beanDeployment : getBeanDeployments()) { BeanManagerImpl beanManager = beanDeployment.getBeanManager(); beanManager.getInterceptorMetadataReader().cleanAfterBoot(); beanManager.getServices().cleanupAfterBoot(); beanManager.cleanupAfterBoot(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.getBeanDeployer().cleanup(); final BeanDeploymentModules modules = deploymentManager.getServices().get(BeanDeploymentModules.class); if (modules != null) { modules.processBeanDeployments(getBeanDeployments()); BootstrapLogger.LOG.debugv("EE modules: {0}", modules); if (UnusedBeans.isEnabled(deploymentManager.getServices().get(WeldConfiguration.class))) { deploymentManager.getBeanResolver().clear(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.getBeanManager().getBeanResolver().clear(); deploymentManager.getServices().get(Validator.class).clearResolved(); getContainer().setState(ContainerState.INITIALIZED);
public void deployBeans() { tracker.start(Tracker.OP_DEPLOY_BEANS); for (BeanDeployment deployment : getBeanDeployments()) { deployment.createBeans(environment); for (BeanDeployment deployment : getBeanDeployments()) { deployment.getBeanDeployer().processClassBeanAttributes(); deployment.getBeanDeployer().createProducersAndObservers(); for (BeanDeployment deployment : getBeanDeployments()) { deployment.getBeanDeployer().processProducerAttributes(); deployment.getBeanDeployer().createNewBeans(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.deploySpecialized(environment); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.deployBeans(environment); getContainer().setState(ContainerState.DISCOVERED); flushCaches(); flushCaches(); if(deployment.getServices().getRequired(GlobalEnablementBuilder.class).isDirty()) { for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.createEnablement(); for (BeanDeployment beanDeployment : getBeanDeployments()) {
public void validateBeans() { BootstrapLogger.LOG.validatingBeans(); tracker.start(Tracker.OP_VALIDATE_BEANS); try { for (BeanDeployment beanDeployment : getBeanDeployments()) { BeanManagerImpl beanManager = beanDeployment.getBeanManager(); beanManager.getBeanResolver().clear(); deployment.getServices().get(Validator.class).validateDeployment(beanManager, beanDeployment); beanManager.getServices().get(InjectionTargetService.class).validate(); } } catch (Exception e) { validationFailed(e); throw e; } getContainer().setState(ContainerState.VALIDATED); tracker.start(Tracker.OP_ADV); AfterDeploymentValidationImpl.fire(deploymentManager); tracker.end(); tracker.end(); }
tracker.start(Tracker.OP_START_INIT); Set<BeanDeployment> physicalBeanDeploymentArchives = new HashSet<BeanDeployment>(getBeanDeployments()); extensionBeanDeployer.deployBeans(); installFastProcessAnnotatedTypeResolver(deploymentManager.getServices()); deploymentManager.addBean(new BeanManagerBean(deploymentManager)); deploymentManager.addBean(new BeanManagerImplBean(deploymentManager)); deploymentVisitor.visit(); beanDeployment.createClasses(); deploymentVisitor.visit(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.createTypes(); tracker.end(); for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.createEnablement(); tracker.end();
private void flushCaches() { deploymentManager.getBeanResolver().clear(); deploymentManager.getAccessibleLenientObserverNotifier().clear(); deploymentManager.getGlobalStrictObserverNotifier().clear(); deploymentManager.getGlobalLenientObserverNotifier().clear(); deploymentManager.getDecoratorResolver().clear(); deploymentManager.getInterceptorResolver().clear(); deploymentManager.getNameBasedResolver().clear(); for (BeanDeployment beanDeployment : getBeanDeployments()) { BeanManagerImpl beanManager = beanDeployment.getBeanManager(); beanManager.getBeanResolver().clear(); beanManager.getAccessibleLenientObserverNotifier().clear(); beanManager.getDecoratorResolver().clear(); beanManager.getInterceptorResolver().clear(); beanManager.getNameBasedResolver().clear(); } }
/** * Right now, only session and conversation scoped beans (except for built-in beans) are taken into account. * * @return the set of beans the index should be built from */ private Set<Bean<?>> getBeansForBeanIdentifierIndex() { Set<Bean<?>> beans = new HashSet<Bean<?>>(); for (BeanDeployment beanDeployment : getBeanDeployments()) { for (Bean<?> bean : beanDeployment.getBeanManager().getBeans()) { if (!(bean instanceof AbstractBuiltInBean<?>) && (bean.getScope().equals(SessionScoped.class) || bean.getScope().equals(ConversationScoped.class))) { beans.add(bean); } } } return beans; }
private void validationFailed(Exception failure) { for (BeanDeployment beanDeployment : getBeanDeployments()) { beanDeployment.getBeanManager().validationFailed(failure, environment); } }
tracker.start(Tracker.OP_BOOTSTRAP); tracker.start(Tracker.OP_START_CONTAINER); checkApiVersion(); registry.add(WeldConfiguration.class, configuration); setExtensions(deployment.getExtensions()); tracker.start(Tracker.OP_INIT_SERVICES); setupInitialServices(); addImplementationServices(registry); verifyServices(registry, environment.getRequiredDeploymentServices(), contextId); if (!registry.contains(TransactionServices.class)) { BootstrapLogger.LOG.jtaUnavailable(); this.deploymentManager = BeanManagerImpl.newRootManager(finalContextId, "deployment", registry); Container.initialize(finalContextId, deploymentManager, ServiceRegistries.unmodifiableServiceRegistry(deployment.getServices()), environment); getContainer().setState(ContainerState.STARTING); this.contexts = createContexts(registry); this.deploymentVisitor = new DeploymentVisitor(deploymentManager, environment, deployment, contexts, bdaMapping); BootstrapLogger.LOG.legacyDeploymentMetadataProvided();