use of org.jboss.as.naming.deployment.ExternalContextsProcessor in project wildfly by wildfly.
the class NamingSubsystemAdd method performBoottime.
@SuppressWarnings("deprecation")
@Override
protected void performBoottime(OperationContext context, ModelNode operation, ModelNode model) {
ROOT_LOGGER.activatingSubsystem();
NamingContext.initializeNamingManager();
final ServiceTarget target = context.getServiceTarget();
// Create the java: namespace
target.addService(ContextNames.JAVA_CONTEXT_SERVICE_NAME, new NamingStoreService()).setInitialMode(ServiceController.Mode.ACTIVE).install();
// Create the Naming Service
final NamingService namingService = new NamingService();
target.addService(Capability.NAMING_STORE.getDefinition().getCapabilityServiceName(), namingService).addAliases(NamingService.SERVICE_NAME).addDependency(ContextNames.JAVA_CONTEXT_SERVICE_NAME, NamingStore.class, namingService.getNamingStore()).setInitialMode(ServiceController.Mode.ACTIVE).install();
// Create the java:global namespace
target.addService(ContextNames.GLOBAL_CONTEXT_SERVICE_NAME, new NamingStoreService()).setInitialMode(ServiceController.Mode.ACTIVE).install();
// Create the java:jboss vendor namespace
target.addService(ContextNames.JBOSS_CONTEXT_SERVICE_NAME, new NamingStoreService()).setInitialMode(ServiceController.Mode.ACTIVE).install();
// Setup remote naming store
//we always install the naming store, but we don't install the server unless it has been explicitly enabled
target.addService(ContextNames.EXPORTED_CONTEXT_SERVICE_NAME, new NamingStoreService()).setInitialMode(ServiceController.Mode.ACTIVE).install();
// add the default namespace context selector service
DefaultNamespaceContextSelectorService defaultNamespaceContextSelectorService = new DefaultNamespaceContextSelectorService();
target.addService(DefaultNamespaceContextSelectorService.SERVICE_NAME, defaultNamespaceContextSelectorService).addDependency(ContextNames.GLOBAL_CONTEXT_SERVICE_NAME, NamingStore.class, defaultNamespaceContextSelectorService.getGlobalNamingStore()).addDependency(ContextNames.JBOSS_CONTEXT_SERVICE_NAME, NamingStore.class, defaultNamespaceContextSelectorService.getJbossNamingStore()).addDependency(ContextNames.EXPORTED_CONTEXT_SERVICE_NAME, NamingStore.class, defaultNamespaceContextSelectorService.getRemoteExposedNamingStore()).setInitialMode(ServiceController.Mode.ACTIVE).install();
target.addService(JndiViewExtensionRegistry.SERVICE_NAME, new JndiViewExtensionRegistry()).install();
// create the subsystem's external context instance, and install related Service and DUP
final ExternalContexts externalContexts = new ExternalContextsNavigableSet();
target.addService(ExternalContextsService.SERVICE_NAME, new ExternalContextsService(externalContexts)).install();
context.addStep(new AbstractDeploymentChainStep() {
@Override
protected void execute(DeploymentProcessorTarget processorTarget) {
processorTarget.addDeploymentProcessor(NamingExtension.SUBSYSTEM_NAME, Phase.STRUCTURE, Phase.STRUCTURE_NAMING_EXTERNAL_CONTEXTS, new ExternalContextsProcessor(externalContexts));
processorTarget.addDeploymentProcessor(NamingExtension.SUBSYSTEM_NAME, Phase.INSTALL, Phase.INSTALL_JNDI_DEPENDENCIES, new JndiNamingDependencyProcessor());
}
}, OperationContext.Stage.RUNTIME);
if (context.hasOptionalCapability(UNDERTOW_HTTP_INVOKER_CAPABILITY_NAME, NamingService.CAPABILITY_NAME, null)) {
HttpRemoteNamingServerService httpRemoteNamingServerService = new HttpRemoteNamingServerService();
context.getServiceTarget().addService(HttpRemoteNamingServerService.SERVICE_NAME, httpRemoteNamingServerService).addDependency(context.getCapabilityServiceName(UNDERTOW_HTTP_INVOKER_CAPABILITY_NAME, PathHandler.class), PathHandler.class, httpRemoteNamingServerService.getPathHandlerInjectedValue()).addDependency(ContextNames.EXPORTED_CONTEXT_SERVICE_NAME, NamingStore.class, httpRemoteNamingServerService.getNamingStore()).install();
}
}
Aggregations