@Override public void execute(final OperationContext context, final ModelNode operation) { final ServiceController<?> deploymentServiceController = context.getServiceRegistry(false).getService(UndertowService.deploymentServiceName(server, host, path)); if (deploymentServiceController == null) { return; } final UndertowDeploymentService deploymentService = (UndertowDeploymentService) deploymentServiceController.getService(); final DeploymentInfo deploymentInfo = deploymentService.getDeploymentInfoInjectedValue().getValue(); final UndertowMetricsCollector collector = (UndertowMetricsCollector)deploymentInfo.getMetricsCollector(); MetricsHandler.MetricResult result = collector != null ? collector.getMetrics(context.getCurrentAddressValue()) : null; if (result != null) { final ModelNode response = new ModelNode(); handle(response, result); context.getResult().set(response); } } }, OperationContext.Stage.RUNTIME);
public static ServiceName locationServiceName(final String server, final String virtualHost, final String locationName) { return virtualHostName(server, virtualHost).append(Constants.LOCATION, locationName); }
context.getCapabilityServiceTarget().addCapability(UndertowRootDefinition.UNDERTOW_CAPABILITY, new UndertowService(defaultContainer, defaultServer, defaultVirtualHost, instanceId, stats)) .setInitialMode(ServiceController.Mode.ACTIVE) .addAliases(UndertowService.UNDERTOW)
final ServiceName hostServiceName = UndertowService.virtualHostName(serverInstanceName, hostName); final ServiceName legacyDeploymentServiceName = UndertowService.deploymentServiceName(serverInstanceName, hostName, pathName); final ServiceName deploymentServiceName = UndertowService.deploymentServiceName(deploymentUnit.getServiceName());
builder.addAliases(UndertowService.virtualHostName(serverName, name)); builder.install(); final ServiceName consoleRedirectName = UndertowService.consoleRedirectServiceName(serverName, name);
protected void unregisterServer(final Server server) { registeredServers.remove(server); fireEvent(new EventInvoker() { @Override public void invoke(UndertowEventListener listener) { listener.onServerStop(server); } }); }
@Override public Iterable<Engine> getEngines() { for (org.wildfly.extension.undertow.Server server : this.service.getServers()) { if (server.getName().equals(this.serverName)) { return Collections.singleton(new UndertowEngine(serverName, server, this.service, this.connector)); } } throw new IllegalStateException(); }
@Override public void start(StartContext context) { this.service.get().registerListener(this); for (Deployment deployment : this.host.get().getDeployments()) { this.addDeployment(deployment); } this.registry.accept(this); }
@Override public void stop(StopContext context) { injectedUndertowService.getValue().unregisterListener(eventListener); }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) { final PathAddress hostAddress = context.getCurrentAddress().getParent(); final PathAddress serverAddress = hostAddress.getParent(); final String hostName = hostAddress.getLastElement().getValue(); final String serverName = serverAddress.getLastElement().getValue(); final ServiceName serviceName = UndertowService.accessLogServiceName(serverName, hostName); context.removeService(serviceName); }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final PathAddress address = context.getCurrentAddress(); final PathAddress parent = address.getParent(); final String name = address.getLastElement().getValue(); final String serverName = parent.getLastElement().getValue(); final ServiceName virtualHostServiceName = HostDefinition.HOST_CAPABILITY.getCapabilityServiceName(serverName, name); context.removeService(virtualHostServiceName); final ServiceName consoleRedirectName = UndertowService.consoleRedirectServiceName(serverName, name); context.removeService(consoleRedirectName); final ServiceName commonHostName = WebHost.SERVICE_NAME.append(name); context.removeService(commonHostName); final String defaultWebModule = HostDefinition.DEFAULT_WEB_MODULE.resolveModelAttribute(context, model).asString(); DefaultDeploymentMappingProvider.instance().removeMapping(defaultWebModule); }
public static ServiceName getFilterRefServiceName(final PathAddress address, String name) { final PathAddress oneUp = address.subAddress(0, address.size() - 1); final PathAddress twoUp = oneUp.subAddress(0, oneUp.size() - 1); final PathAddress threeUp = twoUp.subAddress(0, twoUp.size() - 1); ServiceName serviceName; if (address.getLastElement().getKey().equals(Constants.FILTER_REF)) { if (oneUp.getLastElement().getKey().equals(Constants.HOST)) { //adding reference String host = oneUp.getLastElement().getValue(); String server = twoUp.getLastElement().getValue(); serviceName = UndertowService.filterRefName(server, host, name); } else { String location = oneUp.getLastElement().getValue(); String host = twoUp.getLastElement().getValue(); String server = threeUp.getLastElement().getValue(); serviceName = UndertowService.filterRefName(server, host, location, name); } } else if (address.getLastElement().getKey().equals(Constants.HOST)) { String host = address.getLastElement().getValue(); String server = oneUp.getLastElement().getValue(); serviceName = UndertowService.filterRefName(server, host, name); } else { String location = address.getLastElement().getValue(); String host = oneUp.getLastElement().getValue(); String server = twoUp.getLastElement().getValue(); serviceName = UndertowService.filterRefName(server, host, location, name); } return serviceName; }
@Override public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); CamelDeploymentSettings depSettings = deploymentUnit.getAttachment(CamelDeploymentSettings.ATTACHMENT_KEY); if (!depSettings.isEnabled()) { return; } final WarMetaData warMetaData = deploymentUnit.getAttachment(WarMetaData.ATTACHMENT_KEY); if (warMetaData == null) { /* ignore non-war deployments */ CamelLogger.LOGGER.debug("{} ignores non-WAR deployment {}", CamelEndpointDeployerProcessor.class.getSimpleName(), deploymentUnit.getName()); return; } final DeploymentResourceSupport deploymentResourceSupport = deploymentUnit .getAttachment(Attachments.DEPLOYMENT_RESOURCE_SUPPORT); final ModelNode node = deploymentResourceSupport.getDeploymentSubsystemModel(UndertowExtension.SUBSYSTEM_NAME); final String hostName = node.get(DeploymentDefinition.VIRTUAL_HOST.getName()).asString(); final String serverName = node.get(DeploymentDefinition.SERVER.getName()).asString(); final String path = node.get(DeploymentDefinition.CONTEXT_ROOT.getName()).asString(); final ServiceName deploymentServiceName = UndertowService.deploymentServiceName(serverName, hostName, path); final ServiceName deploymentInfoServiceName = deploymentServiceName .append(UndertowDeploymentInfoService.SERVICE_NAME); final ServiceName hostServiceName = UndertowService.virtualHostName(serverName, hostName); CamelEndpointDeployerService.addService(deploymentUnit, phaseContext.getServiceTarget(), deploymentInfoServiceName, hostServiceName); }
builder.addAliases(UndertowService.virtualHostName(serverName, name)); builder.install(); final ServiceName consoleRedirectName = UndertowService.consoleRedirectServiceName(serverName, name);
protected void registerServer(final Server server) { registeredServers.add(server); fireEvent(new EventInvoker() { @Override public void invoke(UndertowEventListener listener) { listener.onServerStart(server); } }); }
private Host getUndertowHost(final ServerHostInfo info) { UndertowService us = getUndertowService(); if (us != null) { for (Server server : getUndertowService().getServers()) { if (info.getServerInstanceName() != null && !server.getName().equals(info.getServerInstanceName())) { continue; } for (Host undertowHost : server.getHosts()) { if (undertowHost.getName().equals(info.getHost())) { return undertowHost; } } } } return null; } }
@Override public void start(StartContext context) { UndertowService service = this.configuration.getUndertowService(); ContainerEventHandler eventHandler = this.configuration.getContainerEventHandler(); this.connector = new UndertowConnector(this.configuration.getListener()); this.serverName = this.configuration.getServer().getName(); this.server = new UndertowServer(this.serverName, service, this.connector); // Register ourselves as a listener to the container events service.registerListener(this); // Initialize mod_cluster and start it now eventHandler.init(this.server); eventHandler.start(this.server); // Start the periodic STATUS thread ThreadGroup group = new ThreadGroup(UndertowEventHandlerAdapterService.class.getSimpleName()); ThreadFactory factory = doPrivileged(new PrivilegedAction<ThreadFactory>() { @Override public ThreadFactory run() { return new JBossThreadFactory(group, Boolean.FALSE, null, "%G - %t", null, null); } }); this.executor = Executors.newScheduledThreadPool(1, factory); this.executor.scheduleWithFixedDelay(this, 0, this.configuration.getStatusInterval().toMillis(), TimeUnit.MILLISECONDS); this.configuration.getSuspendController().registerActivity(this); }
@Override public void stop(StopContext context) { this.configuration.getSuspendController().unRegisterActivity(this); this.configuration.getUndertowService().unregisterListener(this); this.executor.shutdownNow(); try { this.executor.awaitTermination(this.configuration.getStatusInterval().toMillis(), TimeUnit.MILLISECONDS); } catch (InterruptedException ignore) { // Move on. } this.configuration.getContainerEventHandler().stop(this.server); }
.addCapabilityRequirement(Capabilities.CAPABILITY_HOST, Host.class, service.getHost(), serverName, hostName); builder.addAliases(UndertowService.accessLogServiceName(serverName, hostName));
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final PathAddress address = context.getCurrentAddress(); final PathAddress parent = address.getParent(); final String name = address.getLastElement().getValue(); final String serverName = parent.getLastElement().getValue(); final ServiceName virtualHostServiceName = HostDefinition.HOST_CAPABILITY.getCapabilityServiceName(serverName, name); context.removeService(virtualHostServiceName); final ServiceName consoleRedirectName = UndertowService.consoleRedirectServiceName(serverName, name); context.removeService(consoleRedirectName); final ServiceName commonHostName = WebHost.SERVICE_NAME.append(name); context.removeService(commonHostName); final String defaultWebModule = HostDefinition.DEFAULT_WEB_MODULE.resolveModelAttribute(context, model).asString(); DefaultDeploymentMappingProvider.instance().removeMapping(defaultWebModule); }