diff --git a/web/src/main/java/org/jboss/as/web/WebConnectorAdd.java b/web/src/main/java/org/jboss/as/web/WebConnectorAdd.java index 09330cf..972f8ff 100644 --- a/web/src/main/java/org/jboss/as/web/WebConnectorAdd.java +++ b/web/src/main/java/org/jboss/as/web/WebConnectorAdd.java @@ -22,12 +22,6 @@ package org.jboss.as.web; -import org.apache.catalina.connector.Connector; -import org.jboss.as.controller.BasicOperationResult; -import org.jboss.as.controller.OperationFailedException; -import org.jboss.as.controller.OperationResult; -import org.jboss.as.controller.RuntimeTask; -import org.jboss.as.controller.RuntimeTaskContext; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP_ADDR; import static org.jboss.as.web.Constants.ENABLED; @@ -46,18 +40,25 @@ import static org.jboss.as.web.Constants.SOCKET_BINDING; import static org.jboss.as.web.Constants.SSL; import static org.jboss.as.web.Constants.VIRTUAL_SERVER; +import java.util.Locale; + +import org.apache.catalina.connector.Connector; +import org.jboss.as.controller.BasicOperationResult; import org.jboss.as.controller.ModelAddOperationHandler; import org.jboss.as.controller.OperationContext; +import org.jboss.as.controller.OperationFailedException; +import org.jboss.as.controller.OperationResult; import org.jboss.as.controller.PathAddress; import org.jboss.as.controller.ResultHandler; +import org.jboss.as.controller.RuntimeTask; +import org.jboss.as.controller.RuntimeTaskContext; import org.jboss.as.controller.descriptions.DescriptionProvider; import org.jboss.as.controller.operations.common.Util; import org.jboss.as.server.services.net.SocketBinding; import org.jboss.dmr.ModelNode; import org.jboss.msc.service.ServiceBuilder; import org.jboss.msc.service.ServiceController.Mode; - -import java.util.Locale; +import org.jboss.msc.service.ServiceName; /** * {@code OperationHandler} responsible for adding a web connector. @@ -67,6 +68,8 @@ import java.util.Locale; class WebConnectorAdd implements ModelAddOperationHandler, DescriptionProvider { static final String OPERATION_NAME = ADD; + public static final ServiceName THREAD = ServiceName.JBOSS.append("thread"); + public static final ServiceName MYEXECUTOR = THREAD.append("executor"); static ModelNode getRecreateOperation(ModelNode address, ModelNode existing) { ModelNode op = Util.getEmptyOperation(OPERATION_NAME, address); @@ -95,6 +98,10 @@ class WebConnectorAdd implements ModelAddOperationHandler, DescriptionProvider { // } + public static ServiceName executorName(final String name) { + return MYEXECUTOR.append(name); + } + /** {@inheritDoc} */ @Override public OperationResult execute(final OperationContext context, final ModelNode operation, final ResultHandler resultHandler) { @@ -125,6 +132,7 @@ class WebConnectorAdd implements ModelAddOperationHandler, DescriptionProvider { if (context.getRuntimeContext() != null) { context.getRuntimeContext().setRuntimeTask(new RuntimeTask() { + @Override public void execute(RuntimeTaskContext context) throws OperationFailedException { final boolean enabled = operation.hasDefined(ENABLED) ? operation.get(ENABLED).asBoolean() : true; final WebConnectorService service = new WebConnectorService(operation.require(PROTOCOL).asString(), operation.get(SCHEME).asString()); @@ -149,6 +157,7 @@ class WebConnectorAdd implements ModelAddOperationHandler, DescriptionProvider { final ServiceBuilder serviceBuilder = context.getServiceTarget().addService(WebSubsystemServices.JBOSS_WEB_CONNECTOR.append(name), service) .addDependency(WebSubsystemServices.JBOSS_WEB, WebServer.class, service.getServer()) .addDependency(SocketBinding.JBOSS_BINDING_NAME.append(bindingRef), SocketBinding.class, service.getBinding()) + // .addDependency(executorName(operation.get(EXECUTOR).asString()), Executor.class, service.getExecutor()) .setInitialMode(enabled ? Mode.ACTIVE : Mode.NEVER); serviceBuilder.install(); resultHandler.handleResultComplete();