Skip to content

Commit

Permalink
WFLY-6026 Add ability to set the max packet size of the AJP listener
Browse files Browse the repository at this point in the history
  • Loading branch information
stuartwdouglas committed Jan 31, 2016
1 parent 17256a9 commit fddcb31
Show file tree
Hide file tree
Showing 15 changed files with 1,297 additions and 12 deletions.
Expand Up @@ -45,7 +45,9 @@ ListenerService<? extends ListenerService> createService(String name, final Stri
if (schemeNode.isDefined()) {
scheme = schemeNode.asString();
}
return new AjpListenerService(name, scheme, listenerOptions, socketOptions);
OptionMap.Builder listenerBuilder = OptionMap.builder().addAll(listenerOptions);
AjpListenerResourceDefinition.MAX_AJP_PACKET_SIZE.resolveOption(context, model,listenerBuilder);
return new AjpListenerService(name, scheme, listenerBuilder.getMap(), socketOptions);
}

@Override
Expand Down
Expand Up @@ -26,11 +26,14 @@
import java.util.Collection;
import java.util.List;

import io.undertow.UndertowOptions;
import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.client.helpers.MeasurementUnit;
import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.dmr.ModelType;
import org.wildfly.extension.io.OptionAttributeDefinition;

/**
* @author <a href="mailto:tomaz.cerar@redhat.com">Tomaz Cerar</a> (c) 2012 Red Hat Inc.
Expand All @@ -43,6 +46,7 @@ public class AjpListenerResourceDefinition extends ListenerResourceDefinition {
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final OptionAttributeDefinition MAX_AJP_PACKET_SIZE = OptionAttributeDefinition.builder("max-ajp-packet-size", UndertowOptions.MAX_AJP_PACKET_SIZE).setMeasurementUnit(MeasurementUnit.BYTES).setAllowNull(true).setAllowExpression(true).build();

private AjpListenerResourceDefinition() {
super(UndertowExtension.AJP_LISTENER_PATH);
Expand All @@ -58,6 +62,9 @@ public Collection<AttributeDefinition> getAttributes() {
List<AttributeDefinition> attrs = new ArrayList<>(super.getAttributes());
attrs.add(SCHEME);
attrs.add(REDIRECT_SOCKET);
attrs.add(MAX_AJP_PACKET_SIZE);
return attrs;
}


}
Expand Up @@ -219,4 +219,5 @@ public interface Constants {
String USER_AGENTS = "user-agents";
String SESSION_TIMEOUT = "session-timeout";
String CRAWLER_SESSION_MANAGEMENT = "crawler-session-management";
String MAX_AJP_PACKET_SIZE = "max-ajp-packet-size";
}
Expand Up @@ -37,12 +37,13 @@ enum Namespace {
UNDERTOW_1_1("urn:jboss:domain:undertow:1.1"),
UNDERTOW_1_2("urn:jboss:domain:undertow:1.2"),
UNDERTOW_2_0("urn:jboss:domain:undertow:2.0"),
UNDERTOW_3_0("urn:jboss:domain:undertow:3.0");
UNDERTOW_3_0("urn:jboss:domain:undertow:3.0"),
UNDERTOW_3_1("urn:jboss:domain:undertow:3.1");

/**
* The current namespace version.
*/
public static final Namespace CURRENT = UNDERTOW_2_0;
public static final Namespace CURRENT = UNDERTOW_3_1;

private final String name;

Expand Down
Expand Up @@ -74,7 +74,7 @@ public class UndertowExtension implements Extension {
static final AccessConstraintDefinition LISTENER_CONSTRAINT = new SensitiveTargetAccessConstraintDefinition(
new SensitivityClassification(SUBSYSTEM_NAME, "web-connector", false, false, false));

private static final ModelVersion CURRENT_MODEL_VERSION = ModelVersion.create(3, 0, 0);
private static final ModelVersion CURRENT_MODEL_VERSION = ModelVersion.create(3, 1, 0);

public static StandardResourceDescriptionResolver getResolver(final String... keyPrefix) {
StringBuilder prefix = new StringBuilder(SUBSYSTEM_NAME);
Expand All @@ -91,6 +91,7 @@ public void initializeParsers(ExtensionParsingContext context) {
context.setSubsystemXmlMapping(SUBSYSTEM_NAME, Namespace.UNDERTOW_1_2.getUriString(), UndertowSubsystemParser_1_2.INSTANCE);
context.setSubsystemXmlMapping(SUBSYSTEM_NAME, Namespace.UNDERTOW_2_0.getUriString(), UndertowSubsystemParser_2_0.INSTANCE);
context.setSubsystemXmlMapping(SUBSYSTEM_NAME, Namespace.UNDERTOW_3_0.getUriString(), UndertowSubsystemParser_3_0.INSTANCE);
context.setSubsystemXmlMapping(SUBSYSTEM_NAME, Namespace.UNDERTOW_3_1.getUriString(), UndertowSubsystemParser_3_1.INSTANCE);
}

@Override
Expand All @@ -102,7 +103,7 @@ public void initialize(ExtensionContext context) {
final ManagementResourceRegistration deployments = subsystem.registerDeploymentModel(DeploymentDefinition.INSTANCE);
deployments.registerSubModel(DeploymentServletDefinition.INSTANCE);
deployments.registerSubModel(DeploymentWebSocketDefinition.INSTANCE);
subsystem.registerXMLElementWriter(UndertowSubsystemParser_3_0.INSTANCE);
subsystem.registerXMLElementWriter(UndertowSubsystemParser_3_1.INSTANCE);
}


Expand Down

0 comments on commit fddcb31

Please sign in to comment.