undertow/src/main/java/org/wildfly/extension/undertow/UndertowSubsystemAdd.java
@Override
    protected void performBoottime(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException {

        try {
            Class.forName("org.apache.jasper.compiler.JspRuntimeContext", true, this.getClass().getClassLoader());
        } catch (ClassNotFoundException e) {
            UndertowLogger.ROOT_LOGGER.couldNotInitJsp(e);
        }
        final ModelNode model = resource.getModel();

        final String defaultVirtualHost = UndertowRootDefinition.DEFAULT_VIRTUAL_HOST.resolveModelAttribute(context, model).asString();
        final String defaultContainer = UndertowRootDefinition.DEFAULT_SERVLET_CONTAINER.resolveModelAttribute(context, model).asString();
        final String defaultServer = UndertowRootDefinition.DEFAULT_SERVER.resolveModelAttribute(context, model).asString();
        final boolean stats = UndertowRootDefinition.STATISTICS_ENABLED.resolveModelAttribute(context, model).asBoolean();
        final String defaultSecurityDomain = UndertowRootDefinition.DEFAULT_SECURITY_DOMAIN.resolveModelAttribute(context, model).asString();

        final ModelNode instanceIdModel = UndertowRootDefinition.INSTANCE_ID.resolveModelAttribute(context, model);
        final String instanceId = instanceIdModel.isDefined() ? instanceIdModel.asString() : null;


        DefaultDeploymentMappingProvider.instance().clear();//we clear provider on system boot, as on reload it could cause issues.

        context.getCapabilityServiceTarget().addCapability(UndertowRootDefinition.UNDERTOW_CAPABILITY, new UndertowService(defaultContainer, defaultServer, defaultVirtualHost, instanceId, stats))
                .setInitialMode(ServiceController.Mode.ACTIVE)
                .addAliases(UndertowService.UNDERTOW)
                .install();

        context.addStep(new AbstractDeploymentChainStep() {
            @Override
            protected void execute(DeploymentProcessorTarget processorTarget) {

                final SharedTldsMetaDataBuilder sharedTldsBuilder = new SharedTldsMetaDataBuilder(model.clone());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_EXPLODED_MOUNT, new DeploymentRootExplodedMountProcessor());
                JBossAllXmlParserRegisteringProcessor.Builder builder = JBossAllXmlParserRegisteringProcessor.builder();
                for (SharedSessionConfigSchema schema : EnumSet.allOf(SharedSessionConfigSchema.class)) {
                    builder.addParser(schema.getRoot(), SharedSessionManagerConfig.ATTACHMENT_KEY, new SharedSessionConfigParser(schema));
                }
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_REGISTER_JBOSS_ALL_UNDERTOW_SHARED_SESSION, builder.build());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_REGISTER_JBOSS_ALL_WEB, new JBossAllXmlParserRegisteringProcessor<>(WebJBossAllParser.ROOT_ELEMENT, WebJBossAllParser.ATTACHMENT_KEY, new WebJBossAllParser()));
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_WAR_DEPLOYMENT_INIT, new WarDeploymentInitializingProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_WAR, new WarStructureDeploymentProcessor(sharedTldsBuilder));
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_DEPLOYMENT, new WebParsingDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_DEPLOYMENT_FRAGMENT, new WebFragmentParsingDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_JBOSS_WEB_DEPLOYMENT, new JBossWebParsingDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_ANNOTATION_WAR, new WarAnnotationDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_EAR_CONTEXT_ROOT, new EarContextRootProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA, new WarMetaDataProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA + 1, new TldParsingDeploymentProcessor()); //todo: fix priority
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA + 2, new org.wildfly.extension.undertow.deployment.WebComponentProcessor()); //todo: fix priority
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA + 3, new DefaultSecurityDomainProcessor(defaultSecurityDomain)); //todo: fix priority

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.DEPENDENCIES, Phase.DEPENDENCIES_WAR_MODULE, new UndertowDependencyProcessor());

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_WEBSOCKETS, new UndertowJSRWebSocketDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_HANDLERS, new UndertowHandlersDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_HANDLERS + 1, new ExternalTldParsingDeploymentProcessor()); //todo: fix priority
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_HANDLERS + 2, new UndertowServletContainerDependencyProcessor(defaultContainer)); //todo: fix priority


                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_SHARED_SESSION_MANAGER, new SharedSessionManagerDeploymentProcessor(defaultServer));

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_SERVLET_INIT_DEPLOYMENT, new ServletContainerInitializerDeploymentProcessor());

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_WAR_DEPLOYMENT, new UndertowDeploymentProcessor(defaultVirtualHost, defaultContainer, defaultServer, defaultSecurityDomain, knownSecurityDomain));

            }
        }, OperationContext.Stage.RUNTIME);

        context.getCapabilityServiceTarget()
                .addCapability(HTTP_INVOKER_RUNTIME_CAPABILITY, new RemoteHttpInvokerService())
                .install();
    }
@Override
    protected void performBoottime(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException {

        try {
            Class.forName("org.apache.jasper.compiler.JspRuntimeContext", true, this.getClass().getClassLoader());
        } catch (ClassNotFoundException e) {
            UndertowLogger.ROOT_LOGGER.couldNotInitJsp(e);
        }
        final ModelNode model = resource.getModel();

        final String defaultVirtualHost = UndertowRootDefinition.DEFAULT_VIRTUAL_HOST.resolveModelAttribute(context, model).asString();
        final String defaultContainer = UndertowRootDefinition.DEFAULT_SERVLET_CONTAINER.resolveModelAttribute(context, model).asString();
        final String defaultServer = UndertowRootDefinition.DEFAULT_SERVER.resolveModelAttribute(context, model).asString();
        final boolean stats = UndertowRootDefinition.STATISTICS_ENABLED.resolveModelAttribute(context, model).asBoolean();
        final String defaultSecurityDomain = UndertowRootDefinition.DEFAULT_SECURITY_DOMAIN.resolveModelAttribute(context, model).asString();

        final ModelNode instanceIdModel = UndertowRootDefinition.INSTANCE_ID.resolveModelAttribute(context, model);
        final String instanceId = instanceIdModel.isDefined() ? instanceIdModel.asString() : null;


        DefaultDeploymentMappingProvider.instance().clear();//we clear provider on system boot, as on reload it could cause issues.

        context.getCapabilityServiceTarget().addCapability(UndertowRootDefinition.UNDERTOW_CAPABILITY, new UndertowService(defaultContainer, defaultServer, defaultVirtualHost, instanceId, stats))
                .setInitialMode(ServiceController.Mode.ACTIVE)
                .addAliases(UndertowService.UNDERTOW)
                .install();

        context.addStep(new AbstractDeploymentChainStep() {
            @Override
            protected void execute(DeploymentProcessorTarget processorTarget) {

                final SharedTldsMetaDataBuilder sharedTldsBuilder = new SharedTldsMetaDataBuilder(model.clone());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_EXPLODED_MOUNT, new DeploymentRootExplodedMountProcessor());
                JBossAllXmlParserRegisteringProcessor.Builder builder = JBossAllXmlParserRegisteringProcessor.builder();
                for (SharedSessionConfigSchema schema : EnumSet.allOf(SharedSessionConfigSchema.class)) {
                    builder.addParser(schema.getRoot(), SharedSessionManagerConfig.ATTACHMENT_KEY, new SharedSessionConfigParser(schema));
                }
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_REGISTER_JBOSS_ALL_UNDERTOW_SHARED_SESSION, builder.build());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_REGISTER_JBOSS_ALL_WEB, new JBossAllXmlParserRegisteringProcessor<>(WebJBossAllParser.ROOT_ELEMENT, WebJBossAllParser.ATTACHMENT_KEY, new WebJBossAllParser()));
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_WAR_DEPLOYMENT_INIT, new WarDeploymentInitializingProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_WAR, new WarStructureDeploymentProcessor(sharedTldsBuilder));
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_DEPLOYMENT, new WebParsingDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_DEPLOYMENT_FRAGMENT, new WebFragmentParsingDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_JBOSS_WEB_DEPLOYMENT, new JBossWebParsingDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_ANNOTATION_WAR, new WarAnnotationDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_EAR_CONTEXT_ROOT, new EarContextRootProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA, new WarMetaDataProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA + 1, new TldParsingDeploymentProcessor()); //todo: fix priority
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA + 2, new org.wildfly.extension.undertow.deployment.WebComponentProcessor()); //todo: fix priority
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.PARSE, Phase.PARSE_WEB_MERGE_METADATA + 3, new DefaultSecurityDomainProcessor(defaultSecurityDomain)); //todo: fix priority

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.DEPENDENCIES, Phase.DEPENDENCIES_WAR_MODULE, new UndertowDependencyProcessor());

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_WEBSOCKETS, new UndertowJSRWebSocketDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_HANDLERS, new UndertowHandlersDeploymentProcessor());
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_HANDLERS + 1, new ExternalTldParsingDeploymentProcessor()); //todo: fix priority
                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.POST_MODULE, Phase.POST_MODULE_UNDERTOW_HANDLERS + 2, new UndertowServletContainerDependencyProcessor(defaultContainer)); //todo: fix priority


                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_SHARED_SESSION_MANAGER, new SharedSessionManagerDeploymentProcessor(defaultServer));

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_SERVLET_INIT_DEPLOYMENT, new ServletContainerInitializerDeploymentProcessor());

                processorTarget.addDeploymentProcessor(UndertowExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_WAR_DEPLOYMENT, new UndertowDeploymentProcessor(defaultVirtualHost, defaultContainer, defaultServer, defaultSecurityDomain, knownSecurityDomain));

            }
        }, OperationContext.Stage.RUNTIME);

        context.getCapabilityServiceTarget()
                .addCapability(HTTP_INVOKER_RUNTIME_CAPABILITY, new RemoteHttpInvokerService())
                .install();
    }
@ Override protected void performBoottime ( OperationContext context , ModelNode operation , Resource resource ) throws OperationFailedException { try { Class . forName ( "org.apache.jasper.compiler.JspRuntimeContext" , true , this . getClass ( ) . getClassLoader ( ) ) ; } catch ( ClassNotFoundException e ) { UndertowLogger . ROOT_LOGGER . couldNotInitJsp ( e ) ; } final ModelNode model = resource . getModel ( ) ; final String defaultVirtualHost = UndertowRootDefinition . DEFAULT_VIRTUAL_HOST . resolveModelAttribute ( context , model ) . asString ( ) ; final String defaultContainer = UndertowRootDefinition . DEFAULT_SERVLET_CONTAINER . resolveModelAttribute ( context , model ) . asString ( ) ; final String defaultServer = UndertowRootDefinition . DEFAULT_SERVER . resolveModelAttribute ( context , model ) . asString ( ) ; final boolean stats = UndertowRootDefinition . STATISTICS_ENABLED . resolveModelAttribute ( context , model ) . asBoolean ( ) ; final String defaultSecurityDomain = UndertowRootDefinition . DEFAULT_SECURITY_DOMAIN . resolveModelAttribute ( context , model ) . asString ( ) ; final ModelNode instanceIdModel = UndertowRootDefinition . INSTANCE_ID . resolveModelAttribute ( context , model ) ; final String instanceId = instanceIdModel . isDefined ( ) ? instanceIdModel . asString ( ) : null ; DefaultDeploymentMappingProvider . instance ( ) . clear ( ) ; //we clear provider on system boot, as on reload it could cause issues. context . getCapabilityServiceTarget ( ) . addCapability ( UndertowRootDefinition . UNDERTOW_CAPABILITY , new UndertowService ( defaultContainer , defaultServer , defaultVirtualHost , instanceId , stats ) ) . setInitialMode ( ServiceController . Mode . ACTIVE ) . addAliases ( UndertowService . UNDERTOW ) . install ( ) ; context . addStep ( new AbstractDeploymentChainStep ( ) { @ Override protected void execute ( DeploymentProcessorTarget processorTarget ) { final SharedTldsMetaDataBuilder sharedTldsBuilder = new SharedTldsMetaDataBuilder ( model . clone ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . STRUCTURE , Phase . STRUCTURE_EXPLODED_MOUNT , new DeploymentRootExplodedMountProcessor ( ) ) ; JBossAllXmlParserRegisteringProcessor . Builder builder = JBossAllXmlParserRegisteringProcessor . builder ( ) ; for ( SharedSessionConfigSchema schema : EnumSet . allOf ( SharedSessionConfigSchema . class ) ) { builder . addParser ( schema . getRoot ( ) , SharedSessionManagerConfig . ATTACHMENT_KEY , new SharedSessionConfigParser ( schema ) ) ; } processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . STRUCTURE , Phase . STRUCTURE_REGISTER_JBOSS_ALL_UNDERTOW_SHARED_SESSION , builder . build ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . STRUCTURE , Phase . STRUCTURE_REGISTER_JBOSS_ALL_WEB , new JBossAllXmlParserRegisteringProcessor <> ( WebJBossAllParser . ROOT_ELEMENT , WebJBossAllParser . ATTACHMENT_KEY , new WebJBossAllParser ( ) ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . STRUCTURE , Phase . STRUCTURE_WAR_DEPLOYMENT_INIT , new WarDeploymentInitializingProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . STRUCTURE , Phase . STRUCTURE_WAR , new WarStructureDeploymentProcessor ( sharedTldsBuilder ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_WEB_DEPLOYMENT , new WebParsingDeploymentProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_WEB_DEPLOYMENT_FRAGMENT , new WebFragmentParsingDeploymentProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_JBOSS_WEB_DEPLOYMENT , new JBossWebParsingDeploymentProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_ANNOTATION_WAR , new WarAnnotationDeploymentProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_EAR_CONTEXT_ROOT , new EarContextRootProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_WEB_MERGE_METADATA , new WarMetaDataProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_WEB_MERGE_METADATA + 1 , new TldParsingDeploymentProcessor ( ) ) ; //todo: fix priority processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_WEB_MERGE_METADATA + 2 , new org . wildfly . extension . undertow . deployment . WebComponentProcessor ( ) ) ; //todo: fix priority processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . PARSE , Phase . PARSE_WEB_MERGE_METADATA + 3 , new DefaultSecurityDomainProcessor ( defaultSecurityDomain ) ) ; //todo: fix priority processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . DEPENDENCIES , Phase . DEPENDENCIES_WAR_MODULE , new UndertowDependencyProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . POST_MODULE , Phase . POST_MODULE_UNDERTOW_WEBSOCKETS , new UndertowJSRWebSocketDeploymentProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . POST_MODULE , Phase . POST_MODULE_UNDERTOW_HANDLERS , new UndertowHandlersDeploymentProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . POST_MODULE , Phase . POST_MODULE_UNDERTOW_HANDLERS + 1 , new ExternalTldParsingDeploymentProcessor ( ) ) ; //todo: fix priority processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . POST_MODULE , Phase . POST_MODULE_UNDERTOW_HANDLERS + 2 , new UndertowServletContainerDependencyProcessor ( defaultContainer ) ) ; //todo: fix priority processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . INSTALL , Phase . INSTALL_SHARED_SESSION_MANAGER , new SharedSessionManagerDeploymentProcessor ( defaultServer ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . INSTALL , Phase . INSTALL_SERVLET_INIT_DEPLOYMENT , new ServletContainerInitializerDeploymentProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( UndertowExtension . SUBSYSTEM_NAME , Phase . INSTALL , Phase . INSTALL_WAR_DEPLOYMENT , new UndertowDeploymentProcessor ( defaultVirtualHost , defaultContainer , defaultServer , defaultSecurityDomain , knownSecurityDomain ) ) ; } } , OperationContext . Stage . RUNTIME ) ; context . getCapabilityServiceTarget ( ) . addCapability ( HTTP_INVOKER_RUNTIME_CAPABILITY , new RemoteHttpInvokerService ( ) ) . install ( ) ; }
{@inheritDoc}
{