| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
| <xs:element name="Server" type="ServerType"> |
| <xs:annotation> |
| <xs:documentation>Note: A "Server" is not itself a "Container", so you may not |
| define subcomponents such as "Valves" at this level. |
| Documentation at /docs/config/server.html |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| |
| <xs:complexType name="EngineType"> |
| <xs:sequence> |
| <xs:element type="RealmType" name="Realm" minOccurs="0"> |
| <xs:annotation> |
| <xs:documentation>For clustering, please take a look at documentation at: |
| /docs/cluster-howto.html (simple how to) |
| /docs/config/cluster.html (reference documentation) |
| <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> |
| The request dumper valve dumps useful debugging information about |
| the request and response data received and sent by Tomcat. |
| Documentation at: /docs/config/valve.html |
| <Valve className="org.apache.catalina.valves.RequestDumperValve"/> |
| This Realm uses the UserDatabase configured in the global JNDI |
| resources under the key "UserDatabase". Any edits |
| that are performed against this UserDatabase are immediately |
| available for use by the Realm. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element type="HostType" name="Host" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation>Define the default virtual host |
| Note: XML Schema validation will not work with Xerces 2.2. |
| SingleSignOn valve, share authentication between web applications |
| Documentation at: /docs/config/valve.html |
| <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> |
| Access log processes all example. |
| Documentation at: /docs/config/valve.html |
| <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" |
| prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="Cluster" type="ClusterType" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element name="Listener" type="ListenerType" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="className" use="optional"/> |
| <xs:attribute type="xs:string" name="name"/> |
| <xs:attribute type="xs:string" name="defaultHost"/> |
| <xs:attribute type="xs:string" name="jvmRoute"/> |
| <xs:attribute type="xs:int" name="backgroundProcessorDelay"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="NamingResourcesType"> |
| <xs:sequence> |
| <xs:element type="EjbType" name="Ejb" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element type="EnvironmentType" name="Environment" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element type="LocalEjbType" name="LocalEjb" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element type="ResourceType" name="Resource" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation>Editable user database that can also be used by |
| UserDatabaseRealm to authenticate users |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element type="ResourceEnvRefType" name="ResourceEnvRef" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element type="ServiceRefType" name="ServiceRef" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element type="TransactionType" name="Transaction" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="ResourceType"> |
| <xs:attribute type="xs:string" name="name"/> |
| <xs:attribute type="xs:string" name="type"/> |
| <xs:attribute type="xs:string" name="description"/> |
| <xs:attribute type="xs:string" name="auth"/> |
| <xs:attribute type="xs:string" name="scope"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="ListenerType"> |
| <xs:attribute type="xs:string" name="className"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="HostType"> |
| <xs:sequence> |
| <xs:element name="Alias" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element name="Cluster" type="ClusterType" minOccurs="0" maxOccurs="1"/> |
| <xs:element name="Listener" type="ListenerType" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element name="Realm" type="RealmType" minOccurs="0" maxOccurs="1"/> |
| <xs:element name="Valve" type="ValveType" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element name="Context" type="ContextType" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="className" use="optional"/> |
| <xs:attribute type="xs:string" name="name"/> |
| <xs:attribute type="xs:string" name="appBase"/> |
| <xs:attribute type="xs:string" name="hostConfigClass"/> |
| <xs:attribute type="xs:boolean" name="unpackWARs"/> |
| <xs:attribute type="xs:boolean" name="autoDeploy"/> |
| <xs:attribute type="xs:boolean" name="deployOnStartup"/> |
| <xs:attribute type="xs:boolean" name="xmlValidation"/> |
| <xs:attribute type="xs:boolean" name="xmlNamespaceAware"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="ConnectorType"> |
| <xs:sequence> |
| <xs:element name="Listener" type="ListenerType" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="className"/> |
| <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"/> |
| <xs:attribute type="xs:string" name="protocol"/> |
| <xs:attribute type="xs:string" name="protocolHandlerClassName"/> |
| <xs:attribute type="xs:string" name="proxyName"/> |
| <xs:attribute type="xs:int" name="proxyPort"/> |
| <xs:attribute type="xs:int" name="redirectPort"/> |
| <xs:attribute type="xs:string" name="scheme"/> |
| <xs:attribute type="xs:boolean" name="secure"/> |
| <xs:attribute type="xs:string" name="encoding"/> |
| <xs:attribute type="xs:string" name="useBodyEncodingForURI"/> |
| <xs:attribute type="xs:string" name="xpoweredBy"/> |
| <xs:attribute type="xs:boolean" name="useIPVHosts"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="ServiceType"> |
| <xs:sequence> |
| <xs:element type="ConnectorType" name="Connector" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation>The connectors can use a shared executor, you can define one or more named thread pools |
| <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" |
| maxThreads="150" minSpareThreads="4"/> |
| A "Connector" represents an endpoint by which requests are received |
| and responses are returned. Documentation at : |
| Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) |
| Java AJP Connector: /docs/config/ajp.html |
| APR (HTTP/AJP) Connector: /docs/apr.html |
| Define a non-SSL HTTP/1.1 Connector on port 8080 |
| A "Connector" using the shared thread pool |
| <Connector executor="tomcatThreadPool" |
| port="8080" protocol="HTTP/1.1" |
| connectionTimeout="20000" |
| redirectPort="8443" /> |
| Define a SSL HTTP/1.1 Connector on port 8443 |
| This connector uses the JSSE configuration, when using APR, the |
| connector should be using the OpenSSL style configuration |
| described in the APR documentation |
| <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" |
| maxThreads="150" scheme="https" secure="true" |
| clientAuth="false" sslProtocol="TLS" /> |
| Define an AJP 1.3 Connector on port 8009 |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element type="EngineType" name="Engine" minOccurs="0" maxOccurs="1"> |
| <xs:annotation> |
| <xs:documentation>An Engine represents the entry point (within Catalina) that processes |
| every request. The Engine implementation for Tomcat stand alone |
| analyzes the HTTP headers included with the request, and passes them |
| on to the appropriate Host (virtual host). |
| Documentation at /docs/config/engine.html You should set jvmRoute to support load-balancing via AJP ie : |
| <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"> |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element type="ListenerType" name="Listener" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element type="ExecutorType" name="Executor" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="className" use="optional"/> |
| <xs:attribute type="xs:string" name="name"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| <xs:complexType name="ServerType"> |
| <xs:sequence> |
| <xs:element type="ListenerType" name="Listener" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation>APR library loader. Documentation at /docs/apr.html Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html JMX Support for the Tomcat server. Documentation at |
| /docs/non-existent.html |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element type="NamingResourcesType" name="GlobalNamingResources" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation>Global JNDI resources |
| Documentation at /docs/jndi-resources-howto.html |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element type="ServiceType" name="Service" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation>A "Service" is a collection of one or more "Connectors" that share |
| a single "Container" Note: A "Service" is not itself a "Container", |
| so you may not define subcomponents such as "Valves" at this level. |
| Documentation at /docs/config/service.html |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="className" use="optional"/> |
| <xs:attribute type="xs:int" name="port"/> |
| <xs:attribute type="xs:string" name="shutdown"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="RealmType"> |
| <xs:attribute type="xs:string" name="className"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="ExecutorType"> |
| <xs:attribute type="xs:string" name="className" use="optional"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="ClusterType"> |
| <!-- may need another namespace?? --> |
| </xs:complexType> |
| |
| <xs:complexType name="EjbType"></xs:complexType> |
| <xs:complexType name="EnvironmentType"></xs:complexType> |
| <xs:complexType name="LocalEjbType"></xs:complexType> |
| <xs:complexType name="ResourceEnvRefType"></xs:complexType> |
| <xs:complexType name="ServiceRefType"></xs:complexType> |
| <xs:complexType name="TransactionType"></xs:complexType> |
| |
| <xs:complexType name="ValveType"> |
| <xs:attribute type="xs:string" name="className"/> |
| <xs:anyAttribute namespace="##local"/> |
| </xs:complexType> |
| |
| <xs:complexType name="ContextType"> |
| <xs:complexContent> |
| <xs:extension base="NamingResourcesType"/> |
| <!-- see ContextRuleSet. Very incomplete --> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:schema> |