diff --git a/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/model/ConnectorType.java b/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/model/ConnectorType.java
index 4b81c8a..e8066d5 100644
--- a/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/model/ConnectorType.java
+++ b/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/model/ConnectorType.java
@@ -94,6 +94,8 @@
     @XmlAttribute
     protected Boolean enableLookups;
     @XmlAttribute
+    protected Integer maxParameterCount;
+    @XmlAttribute
     protected Integer maxPostSize;
     @XmlAttribute
     protected Integer maxSavePostSize;
@@ -125,6 +127,7 @@
     private Map<QName, String> otherAttributes = new HashMap<QName, String>();
     private static final String EMPTY_SESSION_PATH = "emptySessionPath";
     private static final String ENABLE_LOOKUPS = "enableLookups";
+    private static final String MAX_PARAMETER_COUNT = "maxParameterCount";
     private static final String MAX_POST_SIZE = "maxPostSize";
     private static final String MAX_SAVE_POST_SIZE = "maxSavePostSize";
     private static final String PORT = "port";
@@ -248,6 +251,26 @@
     public void setEnableLookups(Boolean value) {
         this.enableLookups = value;
     }
+    
+    /**
+     * Gets the value of the maxParameterCount property.
+     *
+     * @return possible object is
+     *         {@link Integer }
+     */
+    public Integer getMaxParameterCount() {
+        return maxParameterCount;
+    }
+
+    /**
+     * Sets the value of the maxParameterCount property.
+     *
+     * @param value allowed object is
+     *              {@link Integer }
+     */
+    public void setMaxParameterCount(Integer value) {
+        this.maxParameterCount = value;
+    }
 
     /**
      * Gets the value of the maxPostSize property.
@@ -557,6 +580,9 @@
         if (isEnableLookups() != null) {
             properties.put(ENABLE_LOOKUPS, isEnableLookups());
         }
+        if (getMaxParameterCount() != null) {
+            properties.put(MAX_PARAMETER_COUNT, getMaxParameterCount());
+        }
         if (getMaxPostSize() != null) {
             properties.put(MAX_POST_SIZE, getMaxPostSize());
         }
diff --git a/plugins/tomcat/geronimo-tomcat7/src/main/xsd/server.xsd b/plugins/tomcat/geronimo-tomcat7/src/main/xsd/server.xsd
index 7c57bed..c92649d 100644
--- a/plugins/tomcat/geronimo-tomcat7/src/main/xsd/server.xsd
+++ b/plugins/tomcat/geronimo-tomcat7/src/main/xsd/server.xsd
@@ -130,6 +130,7 @@
     <xs:attribute type="xs:boolean" name="allowTrace"/>
     <xs:attribute type="xs:boolean" name="emptySessionPath"/>
     <xs:attribute type="xs:boolean" name="enableLookups"/>
+    <xs:attribute type="xs:int" name="maxParameterCount"/>
     <xs:attribute type="xs:int" name="maxPostSize"/>
     <xs:attribute type="xs:int" name="maxSavePostSize"/>
     <xs:attribute type="xs:int" name="port"/>
