protected CDI11Deployment createDeployment ( ServletContext context , CDI11Bootstrap bootstrap ) { ImmutableSet . Builder < Metadata < Extension >> extensionsBuilder = ImmutableSet . builder ( ) ; extensionsBuilder . addAll ( bootstrap . loadExtensions ( WeldResourceLoader . getClassLoader ( ) ) ) ; if ( isDevModeEnabled ) { extensionsBuilder . add ( new MetadataImpl < Extension > ( DevelopmentMode . getProbeExtension ( resourceLoader ) , "N/A" ) ) ; } final Iterable < Metadata < Extension > > extensions = extensionsBuilder . build ( ) ; final TypeDiscoveryConfiguration typeDiscoveryConfiguration = bootstrap . startExtensions ( extensions ) ; final EEModuleDescriptor eeModule = new EEModuleDescriptorImpl ( context . getContextPath ( ) , ModuleType . WEB ) ; final DiscoveryStrategy strategy = DiscoveryStrategyFactory . create ( resourceLoader , bootstrap , typeDiscoveryConfiguration . getKnownBeanDefiningAnnotations ( ) , Boolean . parseBoolean ( context . getInitParameter ( Jandex . DISABLE_JANDEX_DISCOVERY_STRATEGY ) ) ) ; if ( Jandex . isJandexAvailable ( resourceLoader ) ) { try { Class < ? extends BeanArchiveHandler > handlerClass = Reflections . loadClass ( resourceLoader , JANDEX_SERVLET_CONTEXT_BEAN_ARCHIVE_HANDLER ) ; strategy . registerHandler ( ( SecurityActions . newConstructorInstance ( handlerClass , new Class < ? > [ ] { ServletContext . class } , context ) ) ) ; } catch ( Exception e ) { throw CommonLogger . LOG . unableToInstantiate ( JANDEX_SERVLET_CONTEXT_BEAN_ARCHIVE_HANDLER , Arrays . toString ( new Object [ ] { context } ) , e ) ; } } else { strategy . registerHandler ( new ServletContextBeanArchiveHandler ( context ) ) ; } strategy . setScanner ( new WebAppBeanArchiveScanner ( resourceLoader , bootstrap , context ) ) ; Set < WeldBeanDeploymentArchive > beanDeploymentArchives = strategy . performDiscovery ( ) ; String isolation = context . getInitParameter ( CONTEXT_PARAM_ARCHIVE_ISOLATION ) ; if ( isolation == null || Boolean . valueOf ( isolation ) ) { CommonLogger . LOG . archiveIsolationEnabled ( ) ; } else { CommonLogger . LOG . archiveIsolationDisabled ( ) ; Set < WeldBeanDeploymentArchive > flatDeployment = new HashSet < WeldBeanDeploymentArchive > ( ) ; flatDeployment . add ( WeldBeanDeploymentArchive . merge ( bootstrap , beanDeploymentArchives ) ) ; beanDeploymentArchives = flatDeployment ; } for ( BeanDeploymentArchive archive : beanDeploymentArchives ) { archive . getServices ( ) . add ( EEModuleDescriptor . class , eeModule ) ; } CDI11Deployment deployment = new WeldDeployment ( resourceLoader , bootstrap , beanDeploymentArchives , extensions ) { @ Override protected WeldBeanDeploymentArchive createAdditionalBeanDeploymentArchive ( ) { WeldBeanDeploymentArchive archive = super . createAdditionalBeanDeploymentArchive ( ) ; archive . getServices ( ) . add ( EEModuleDescriptor . class , eeModule ) ; return archive ; } } ; if ( strategy . getClassFileServices ( ) != null ) { deployment . getServices ( ) . add ( ClassFileServices . class , strategy . getClassFileServices ( ) ) ; } return deployment ; }
Create servlet deployment .