public synchronized void start ( final StartContext context ) { if ( started ) { throw WeldLogger . ROOT_LOGGER . alreadyRunning ( "WeldContainer" ) ; } started = true ; WeldLogger . DEPLOYMENT_LOGGER . startingWeldService ( deploymentName ) ; // set up injected services addWeldService ( SecurityServices . class , securityServicesSupplier . get ( ) ) ; TransactionServices transactionServices = weldTransactionServicesSupplier != null ? weldTransactionServicesSupplier . get ( ) : null ; if ( transactionServices != null ) { addWeldService ( TransactionServices . class , transactionServices ) ; } if ( ! deployment . getServices ( ) . contains ( ExecutorServices . class ) ) { addWeldService ( ExecutorServices . class , executorServicesSupplier . get ( ) ) ; } ModuleGroupSingletonProvider . addClassLoaders ( deployment . getModule ( ) . getClassLoader ( ) , deployment . getSubDeploymentClassLoaders ( ) ) ; ClassLoader oldTccl = WildFlySecurityManager . getCurrentContextClassLoaderPrivileged ( ) ; try { WildFlySecurityManager . setCurrentContextClassLoaderPrivileged ( deployment . getModule ( ) . getClassLoader ( ) ) ; bootstrap . startContainer ( deploymentName , environment , deployment ) ; WeldProvider . containerInitialized ( Container . instance ( deploymentName ) , getBeanManager ( ) , deployment ) ; } finally { WildFlySecurityManager . setCurrentContextClassLoaderPrivileged ( oldTccl ) ; } weldBootstrapServiceConsumer . accept ( this ) ; }
Starts the weld container