You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cs...@apache.org on 2016/05/02 16:48:31 UTC

svn commit: r987306 [4/5] - /websites/production/activemq/content/schema/core/

Added: websites/production/activemq/content/schema/core/activemq-core-5.13.3.xsd
==============================================================================
--- websites/production/activemq/content/schema/core/activemq-core-5.13.3.xsd (added)
+++ websites/production/activemq/content/schema/core/activemq-core-5.13.3.xsd Mon May  2 14:48:31 2016
@@ -0,0 +1,10402 @@
+<?xml version='1.0'?>
+<!-- NOTE: this file is autogenerated by Apache XBean -->
+
+<xs:schema elementFormDefault='qualified'
+           targetNamespace='http://activemq.apache.org/schema/core'
+           xmlns:xs='http://www.w3.org/2001/XMLSchema'
+           xmlns:tns='http://activemq.apache.org/schema/core'>
+
+  <!-- element for type: org.apache.activemq.broker.region.policy.AbortSlowAckConsumerStrategy -->
+  <xs:element name='abortSlowAckConsumerStrategy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Abort slow consumers when they reach the configured threshold of slowness,
+
+default is that a consumer that has not Ack'd a message for 30 seconds is slow.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='brokerService' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <xs:element ref='tns:destinationsPlugin'/>
+              <xs:element ref='tns:forcePersistencyModeBroker'/>
+              <xs:element ref='tns:loggingBrokerPlugin'/>
+              <xs:element ref='tns:multicastTraceBrokerPlugin'/>
+              <xs:element ref='tns:redeliveryPlugin'/>
+              <xs:element ref='tns:timeStampingBrokerPlugin'/>
+              <xs:element ref='tns:traceBrokerPathPlugin'/>
+              <xs:element ref='tns:udpTraceBrokerPlugin'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='abortConnection' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            abort the consumers connection rather than sending a stop command to the remote consumer
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkPeriod' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            time in milliseconds between checks for slow subscriptions
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='ignoreIdleConsumers' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Returns whether the strategy is configured to ignore consumers that are simply idle, i.e
+consumers that have no pending acks (dispatch queue is empty).
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='ignoreNetworkConsumers' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether the strategy is configured to ignore consumers that are part of a network
+connection to another broker.
+
+When configured to not ignore idle consumers this strategy acts not only on consumers
+that are actually slow but also on any consumer that has not received any messages for
+the maxTimeSinceLastAck.  This allows for a way to evict idle consumers while also
+aborting slow consumers however for a network subscription this can create a lot of
+unnecessary churn and if the abort connection option is also enabled this can result
+in the entire network connection being torn down and rebuilt for no reason.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxSlowCount' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            number of times a subscription can be deemed slow before triggering abort
+effect depends on dispatch rate as slow determination is done on dispatch
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxSlowDuration' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            time in milliseconds that a sub can remain slow before triggering
+an abort.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxTimeSinceLastAck' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Gets the maximum time since last Ack before a subscription is considered to be slow.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy -->
+  <xs:element name='abortSlowConsumerStrategy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Abort slow consumers when they reach the configured threshold of slowness, default is slow for 30 seconds
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='brokerService' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <xs:element ref='tns:destinationsPlugin'/>
+              <xs:element ref='tns:forcePersistencyModeBroker'/>
+              <xs:element ref='tns:loggingBrokerPlugin'/>
+              <xs:element ref='tns:multicastTraceBrokerPlugin'/>
+              <xs:element ref='tns:redeliveryPlugin'/>
+              <xs:element ref='tns:timeStampingBrokerPlugin'/>
+              <xs:element ref='tns:traceBrokerPathPlugin'/>
+              <xs:element ref='tns:udpTraceBrokerPlugin'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='abortConnection' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            abort the consumers connection rather than sending a stop command to the remote consumer
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkPeriod' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            time in milliseconds between checks for slow subscriptions
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='ignoreNetworkConsumers' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether the strategy is configured to ignore consumers that are part of a network
+connection to another broker.
+
+When configured to not ignore idle consumers this strategy acts not only on consumers
+that are actually slow but also on any consumer that has not received any messages for
+the maxTimeSinceLastAck.  This allows for a way to evict idle consumers while also
+aborting slow consumers however for a network subscription this can create a lot of
+unnecessary churn and if the abort connection option is also enabled this can result
+in the entire network connection being torn down and rebuilt for no reason.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxSlowCount' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            number of times a subscription can be deemed slow before triggering abort
+effect depends on dispatch rate as slow determination is done on dispatch
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxSlowDuration' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            time in milliseconds that a sub can remain slow before triggering
+an abort.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.security.AuthenticationUser -->
+  <xs:element name='authenticationUser'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A helper object used to configure simple authentication plugin
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='groups' type='xs:string'/>
+      <xs:attribute name='password' type='xs:string'/>
+      <xs:attribute name='username' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.security.XBeanAuthorizationEntry -->
+  <xs:element name='authorizationEntry'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Represents an entry in a {@link DefaultAuthorizationMap} for assigning
+different operations (read, write, admin) of user roles to a specific
+destination or a hierarchical wildcard area of destinations.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adminACLs' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destination' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:queue'/>
+              <xs:element ref='tns:tempQueue'/>
+              <xs:element ref='tns:tempTopic'/>
+              <xs:element ref='tns:topic'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='readACLs' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='writeACLs' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='admin' type='xs:string'/>
+      <xs:attribute name='destination' type='xs:string'/>
+      <xs:attribute name='groupClass' type='xs:string'/>
+      <xs:attribute name='queue' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            A helper method to set the destination from a configuration file
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='read' type='xs:string'/>
+      <xs:attribute name='tempQueue' type='xs:boolean'/>
+      <xs:attribute name='tempTopic' type='xs:boolean'/>
+      <xs:attribute name='topic' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            A helper method to set the destination from a configuration file
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='write' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.security.XBeanAuthorizationMap -->
+  <xs:element name='authorizationMap'>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='authorizationEntries' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the individual entries on the authorization map
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='defaultEntry' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:authorizationEntry'/>
+              <xs:element ref='tns:tempDestinationAuthorizationEntry'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='entries' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              A helper method to allow the destination map to be populated from a
+dependency injection framework such as Spring
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='tempDestinationAuthorizationEntry' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:tempDestinationAuthorizationEntry'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='defaultEntry' type='xs:string'/>
+      <xs:attribute name='groupClass' type='xs:string'/>
+      <xs:attribute name='tempDestinationAuthorizationEntry' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.security.AuthorizationPlugin -->
+  <xs:element name='authorizationPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An authorization plugin where each operation on a destination is checked
+against an authorizationMap
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='map' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:authorizationMap'/>
+              <xs:element ref='tns:cachedLDAPAuthorizationMap'/>
+              <xs:element ref='tns:lDAPAuthorizationMap'/>
+              <xs:element ref='tns:simpleAuthorizationMap'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='map' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.store.jdbc.adapter.AxionJDBCAdapter -->
+  <xs:element name='axionJDBCAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Axion specific Adapter.
+
+Axion does not seem to support ALTER statements or sub-selects.  This means:
+- We cannot auto upgrade the schema was we roll out new versions of ActiveMQ
+- We cannot delete durable sub messages that have be acknowledged by all consumers.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='statements' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:statements'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='batchStatements' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set the number of statements to process as a single batch DB update
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='batchStatments' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxRows' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            the max value for statement maxRows, used to limit jdbc queries
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='statements' type='xs:string'/>
+      <xs:attribute name='useExternalMessageReferences' type='xs:boolean'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.store.jdbc.adapter.BlobJDBCAdapter -->
+  <xs:element name='blobJDBCAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        This JDBCAdapter inserts and extracts BLOB data using the getBlob()/setBlob()
+operations. This is a little more involved since to insert a blob you have
+to:
+
+1: insert empty blob. 2: select the blob 3: finally update the blob with data
+value.
+
+The databases/JDBC drivers that use this adapter are:
+<ul>
+<li></li>
+</ul>
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='statements' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:statements'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='batchStatements' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set the number of statements to process as a single batch DB update
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='batchStatments' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxRows' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            the max value for statement maxRows, used to limit jdbc queries
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='statements' type='xs:string'/>
+      <xs:attribute name='useExternalMessageReferences' type='xs:boolean'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.xbean.XBeanBrokerService -->
+  <xs:element name='broker'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An ActiveMQ Message Broker. It consists of a number of transport
+connectors, network connectors and a bunch of properties which can be used to
+configure the broker as its lazily created.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adminView' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Returns the administration view of the broker; used to create and destroy
+resources such as queues and topics. Note this method returns null if JMX
+is disabled.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='brokerContext' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='consumerSystemUsage' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinationFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinationInterceptors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the destination interceptors to use
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:mirroredQueue'/>
+              <xs:element ref='tns:virtualDestinationInterceptor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinationPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the destination specific policies available either for exact
+destinations or for wildcard areas of destinations.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:policyMap'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinations' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the destinations which should be loaded/created on startup
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:queue'/>
+              <xs:element ref='tns:tempQueue'/>
+              <xs:element ref='tns:tempTopic'/>
+              <xs:element ref='tns:topic'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='ioExceptionHandler' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              override the Default IOException handler, called when persistence adapter
+has experiences File or JDBC I/O Exceptions
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:defaultIOExceptionHandler'/>
+              <xs:element ref='tns:jDBCIOExceptionHandler'/>
+              <xs:element ref='tns:leaseLockerIOExceptionHandler'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jmsBridgeConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:jmsQueueConnector'/>
+              <xs:element ref='tns:jmsTopicConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jobSchedulerStore' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='managementContext' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:managementContext'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='messageAuthorizationPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the policy used to decide if the current connection is authorized to
+consume a given message
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='networkConnectorURIs' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='networkConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the network connectors which this broker will use to connect to
+other brokers in a federated network
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:ldapNetworkConnector'/>
+              <xs:element ref='tns:multicastNetworkConnector'/>
+              <xs:element ref='tns:networkConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='persistenceAdapter' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the persistence adaptor implementation to use for this broker
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:journalPersistenceAdapter'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:memoryPersistenceAdapter'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='persistenceFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:journalPersistenceAdapterFactory'/>
+              <xs:element ref='tns:journaledJDBC'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='persistenceTaskRunnerFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:taskRunnerFactory'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='plugins' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets a number of broker plugins to install such as for security
+authentication or authorization
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:authorizationPlugin'/>
+              <xs:element ref='tns:camelRoutesBrokerPlugin'/>
+              <xs:element ref='tns:connectionDotFilePlugin'/>
+              <xs:element ref='tns:destinationDotFilePlugin'/>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <xs:element ref='tns:destinationsPlugin'/>
+              <xs:element ref='tns:discardingDLQBrokerPlugin'/>
+              <xs:element ref='tns:forcePersistencyModeBrokerPlugin'/>
+              <xs:element ref='tns:jaasAuthenticationPlugin'/>
+              <xs:element ref='tns:jaasCertificateAuthenticationPlugin'/>
+              <xs:element ref='tns:jaasDualAuthenticationPlugin'/>
+              <xs:element ref='tns:loggingBrokerPlugin'/>
+              <xs:element ref='tns:multicastTraceBrokerPlugin'/>
+              <xs:element ref='tns:partitionBrokerPlugin'/>
+              <xs:element ref='tns:redeliveryPlugin'/>
+              <xs:element ref='tns:runtimeConfigurationPlugin'/>
+              <xs:element ref='tns:simpleAuthenticationPlugin'/>
+              <xs:element ref='tns:statisticsBrokerPlugin'/>
+              <xs:element ref='tns:timeStampingBrokerPlugin'/>
+              <xs:element ref='tns:traceBrokerPathPlugin'/>
+              <xs:element ref='tns:udpTraceBrokerPlugin'/>
+              <xs:element ref='tns:virtualSelectorCacheBrokerPlugin'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='producerSystemUsage' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='proxyConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the network connectors which this broker will use to connect to
+other brokers in a federated network
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='regionBroker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <xs:element ref='tns:destinationsPlugin'/>
+              <xs:element ref='tns:forcePersistencyModeBroker'/>
+              <xs:element ref='tns:loggingBrokerPlugin'/>
+              <xs:element ref='tns:multicastTraceBrokerPlugin'/>
+              <xs:element ref='tns:redeliveryPlugin'/>
+              <xs:element ref='tns:timeStampingBrokerPlugin'/>
+              <xs:element ref='tns:traceBrokerPathPlugin'/>
+              <xs:element ref='tns:udpTraceBrokerPlugin'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='services' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the services associated with this broker.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:broker'/>
+              <xs:element ref='tns:brokerService'/>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:forwardingBridge'/>
+              <xs:element ref='tns:inboundQueueBridge'/>
+              <xs:element ref='tns:inboundTopicBridge'/>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:jmsQueueConnector'/>
+              <xs:element ref='tns:jmsTopicConnector'/>
+              <xs:element ref='tns:jobSchedulerUsage'/>
+              <xs:element ref='tns:journalPersistenceAdapterFactory'/>
+              <xs:element ref='tns:journaledJDBC'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:ldapNetworkConnector'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:managementContext'/>
+              <xs:element ref='tns:memoryUsage'/>
+              <xs:element ref='tns:multicastNetworkConnector'/>
+              <xs:element ref='tns:networkConnector'/>
+              <xs:element ref='tns:outboundQueueBridge'/>
+              <xs:element ref='tns:outboundTopicBridge'/>
+              <xs:element ref='tns:pListStoreImpl'/>
+              <xs:element ref='tns:proxyConnector'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:storeUsage'/>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:element ref='tns:tempUsage'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='shutdownHooks' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets hooks to be executed when broker shut down
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='sslContext' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:sslContext'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='startException' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='systemUsage' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='taskRunnerFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:taskRunnerFactory'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='tempDataStore' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:pListStoreImpl'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='transportConnectorURIs' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='transportConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the transport connectors which this broker will listen on for new
+clients
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:transportConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='adjustUsageLimits' type='xs:boolean'/>
+      <xs:attribute name='adminView' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Returns the administration view of the broker; used to create and destroy
+resources such as queues and topics. Note this method returns null if JMX
+is disabled.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='advisorySupport' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Allows the support of advisory messages to be disabled for performance
+reasons.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='allowTempAutoCreationOnSend' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            enable if temp destinations need to be propagated through a network when
+advisorySupport==false. This is used in conjunction with the policy
+gcInactiveDestinations for matching temps so they can get removed
+when inactive
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='brokerContext' type='xs:string'/>
+      <xs:attribute name='brokerId' type='xs:string'/>
+      <xs:attribute name='brokerName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the name of this broker; which must be unique in the network
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='brokerObjectName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JMX ObjectName for this broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='cacheTempDestinations' type='xs:boolean'/>
+      <xs:attribute name='consumerSystemUsage' type='xs:string'/>
+      <xs:attribute name='consumerSystemUsagePortion' type='xs:integer'/>
+      <xs:attribute name='dataDirectory' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dataDirectoryFile' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dedicatedTaskRunner' type='xs:boolean'/>
+      <xs:attribute name='deleteAllMessagesOnStartup' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not all messages are deleted on startup - mostly only
+useful for testing.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='destinationFactory' type='xs:string'/>
+      <xs:attribute name='destinationPolicy' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the destination specific policies available either for exact
+destinations or for wildcard areas of destinations.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='diskUsageCheckRegrowThreshold' type='xs:string'/>
+      <xs:attribute name='enableStatistics' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not the Broker's services enable statistics or not.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='ioExceptionHandler' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            override the Default IOException handler, called when persistence adapter
+has experiences File or JDBC I/O Exceptions
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='jobSchedulerStore' type='xs:string'/>
+      <xs:attribute name='keepDurableSubsActive' type='xs:boolean'/>
+      <xs:attribute name='managementContext' type='xs:string'/>
+      <xs:attribute name='maxPurgedDestinationsPerSweep' type='xs:integer'/>
+      <xs:attribute name='mbeanInvocationTimeout' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Gets the time in Milliseconds that an invocation of an MBean method will wait before
+failing.  The default value is to wait forever (zero).
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='messageAuthorizationPolicy' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the policy used to decide if the current connection is authorized to
+consume a given message
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='monitorConnectionSplits' type='xs:boolean'/>
+      <xs:attribute name='networkConnectorStartAsync' type='xs:boolean'/>
+      <xs:attribute name='offlineDurableSubscriberTaskSchedule' type='xs:long'/>
+      <xs:attribute name='offlineDurableSubscriberTimeout' type='xs:long'/>
+      <xs:attribute name='passiveSlave' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the passiveSlave
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='persistenceAdapter' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the persistence adaptor implementation to use for this broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='persistenceFactory' type='xs:string'/>
+      <xs:attribute name='persistenceTaskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='persistenceThreadPriority' type='xs:integer'/>
+      <xs:attribute name='persistent' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not persistence is enabled or disabled.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='populateJMSXUserID' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not the broker should populate the JMSXUserID header.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='populateUserNameInMBeans' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Should MBeans that support showing the Authenticated User Name information have this
+value filled in or not.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='producerSystemUsage' type='xs:string'/>
+      <xs:attribute name='producerSystemUsagePortion' type='xs:integer'/>
+      <xs:attribute name='regionBroker' type='xs:string'/>
+      <xs:attribute name='rejectDurableConsumers' type='xs:boolean'/>
+      <xs:attribute name='restartAllowed' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets if the broker allowed to restart on shutdown.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='schedulePeriodForDestinationPurge' type='xs:integer'/>
+      <xs:attribute name='schedulePeriodForDiskUsageCheck' type='xs:integer'/>
+      <xs:attribute name='schedulerDirectory' type='xs:string'/>
+      <xs:attribute name='schedulerDirectoryFile' type='xs:string'/>
+      <xs:attribute name='schedulerSupport' type='xs:string'/>
+      <xs:attribute name='shutdownOnMasterFailure' type='xs:boolean'/>
+      <xs:attribute name='shutdownOnSlaveFailure' type='xs:string'/>
+      <xs:attribute name='splitSystemUsageForProducersConsumers' type='xs:boolean'/>
+      <xs:attribute name='sslContext' type='xs:string'/>
+      <xs:attribute name='start' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not the broker is started along with the ApplicationContext it is defined within.
+Normally you would want the broker to start up along with the ApplicationContext but sometimes when working
+with JUnit tests you may wish to start and stop the broker explicitly yourself.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='startAsync' type='xs:boolean'/>
+      <xs:attribute name='startException' type='xs:string'/>
+      <xs:attribute name='storeOpenWireVersion' type='xs:integer'/>
+      <xs:attribute name='systemExitOnShutdown' type='xs:string'/>
+      <xs:attribute name='systemExitOnShutdownExitCode' type='xs:integer'/>
+      <xs:attribute name='systemUsage' type='xs:string'/>
+      <xs:attribute name='taskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='taskRunnerPriority' type='xs:integer'/>
+      <xs:attribute name='tempDataStore' type='xs:string'/>
+      <xs:attribute name='timeBeforePurgeTempDestinations' type='xs:integer'/>
+      <xs:attribute name='tmpDataDirectory' type='xs:string'/>
+      <xs:attribute name='useAuthenticatedPrincipalForJMSXUserID' type='xs:boolean'/>
+      <xs:attribute name='useJmx' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not the Broker's services should be exposed into JMX or
+not.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useLocalHostBrokerName' type='xs:boolean'/>
+      <xs:attribute name='useLoggingForShutdownErrors' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not we should use commons-logging when reporting errors
+when shutting down the broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useMirroredQueues' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not <a
+href="http://activemq.apache.org/mirrored-queues.html">Mirrored
+Queues</a> should be supported by default if they have not been
+explicitly configured.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useShutdownHook' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not we should use a shutdown handler to close down the
+broker cleanly if the JVM is terminated. It is recommended you leave this
+enabled.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useTempMirroredQueues' type='xs:boolean'/>
+      <xs:attribute name='useVirtualDestSubs' type='xs:boolean'/>
+      <xs:attribute name='useVirtualDestSubsOnCreation' type='xs:boolean'/>
+      <xs:attribute name='useVirtualTopics' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not <a
+href="http://activemq.apache.org/virtual-destinations.html">Virtual
+Topics</a> should be supported by default if they have not been
+explicitly configured.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='vmConnectorURI' type='xs:string'/>
+      <xs:attribute name='waitForSlave' type='xs:string'/>
+      <xs:attribute name='waitForSlaveTimeout' type='xs:long'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.broker.BrokerService -->
+  <xs:element name='brokerService'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Manages the life-cycle of an ActiveMQ Broker. A BrokerService consists of a
+number of transport connectors, network connectors and a bunch of properties
+which can be used to configure the broker as its lazily created.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adminView' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Returns the administration view of the broker; used to create and destroy
+resources such as queues and topics. Note this method returns null if JMX
+is disabled.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='brokerContext' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='consumerSystemUsage' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinationFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinationInterceptors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the destination interceptors to use
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:mirroredQueue'/>
+              <xs:element ref='tns:virtualDestinationInterceptor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinationPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the destination specific policies available either for exact
+destinations or for wildcard areas of destinations.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:policyMap'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='destinations' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the destinations which should be loaded/created on startup
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:queue'/>
+              <xs:element ref='tns:tempQueue'/>
+              <xs:element ref='tns:tempTopic'/>
+              <xs:element ref='tns:topic'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='ioExceptionHandler' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              override the Default IOException handler, called when persistence adapter
+has experiences File or JDBC I/O Exceptions
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:defaultIOExceptionHandler'/>
+              <xs:element ref='tns:jDBCIOExceptionHandler'/>
+              <xs:element ref='tns:leaseLockerIOExceptionHandler'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jmsBridgeConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:jmsQueueConnector'/>
+              <xs:element ref='tns:jmsTopicConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jobSchedulerStore' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='managementContext' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:managementContext'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='messageAuthorizationPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the policy used to decide if the current connection is authorized to
+consume a given message
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='networkConnectorURIs' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='networkConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the network connectors which this broker will use to connect to
+other brokers in a federated network
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:ldapNetworkConnector'/>
+              <xs:element ref='tns:multicastNetworkConnector'/>
+              <xs:element ref='tns:networkConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='persistenceAdapter' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the persistence adaptor implementation to use for this broker
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:journalPersistenceAdapter'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:memoryPersistenceAdapter'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='persistenceFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:journalPersistenceAdapterFactory'/>
+              <xs:element ref='tns:journaledJDBC'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='persistenceTaskRunnerFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:taskRunnerFactory'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='plugins' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets a number of broker plugins to install such as for security
+authentication or authorization
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:authorizationPlugin'/>
+              <xs:element ref='tns:camelRoutesBrokerPlugin'/>
+              <xs:element ref='tns:connectionDotFilePlugin'/>
+              <xs:element ref='tns:destinationDotFilePlugin'/>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <xs:element ref='tns:destinationsPlugin'/>
+              <xs:element ref='tns:discardingDLQBrokerPlugin'/>
+              <xs:element ref='tns:forcePersistencyModeBrokerPlugin'/>
+              <xs:element ref='tns:jaasAuthenticationPlugin'/>
+              <xs:element ref='tns:jaasCertificateAuthenticationPlugin'/>
+              <xs:element ref='tns:jaasDualAuthenticationPlugin'/>
+              <xs:element ref='tns:loggingBrokerPlugin'/>
+              <xs:element ref='tns:multicastTraceBrokerPlugin'/>
+              <xs:element ref='tns:partitionBrokerPlugin'/>
+              <xs:element ref='tns:redeliveryPlugin'/>
+              <xs:element ref='tns:runtimeConfigurationPlugin'/>
+              <xs:element ref='tns:simpleAuthenticationPlugin'/>
+              <xs:element ref='tns:statisticsBrokerPlugin'/>
+              <xs:element ref='tns:timeStampingBrokerPlugin'/>
+              <xs:element ref='tns:traceBrokerPathPlugin'/>
+              <xs:element ref='tns:udpTraceBrokerPlugin'/>
+              <xs:element ref='tns:virtualSelectorCacheBrokerPlugin'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='producerSystemUsage' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='proxyConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the network connectors which this broker will use to connect to
+other brokers in a federated network
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='regionBroker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <xs:element ref='tns:destinationsPlugin'/>
+              <xs:element ref='tns:forcePersistencyModeBroker'/>
+              <xs:element ref='tns:loggingBrokerPlugin'/>
+              <xs:element ref='tns:multicastTraceBrokerPlugin'/>
+              <xs:element ref='tns:redeliveryPlugin'/>
+              <xs:element ref='tns:timeStampingBrokerPlugin'/>
+              <xs:element ref='tns:traceBrokerPathPlugin'/>
+              <xs:element ref='tns:udpTraceBrokerPlugin'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='services' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the services associated with this broker.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:broker'/>
+              <xs:element ref='tns:brokerService'/>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:forwardingBridge'/>
+              <xs:element ref='tns:inboundQueueBridge'/>
+              <xs:element ref='tns:inboundTopicBridge'/>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:jmsQueueConnector'/>
+              <xs:element ref='tns:jmsTopicConnector'/>
+              <xs:element ref='tns:jobSchedulerUsage'/>
+              <xs:element ref='tns:journalPersistenceAdapterFactory'/>
+              <xs:element ref='tns:journaledJDBC'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:ldapNetworkConnector'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:managementContext'/>
+              <xs:element ref='tns:memoryUsage'/>
+              <xs:element ref='tns:multicastNetworkConnector'/>
+              <xs:element ref='tns:networkConnector'/>
+              <xs:element ref='tns:outboundQueueBridge'/>
+              <xs:element ref='tns:outboundTopicBridge'/>
+              <xs:element ref='tns:pListStoreImpl'/>
+              <xs:element ref='tns:proxyConnector'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:storeUsage'/>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:element ref='tns:tempUsage'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='shutdownHooks' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets hooks to be executed when broker shut down
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='sslContext' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:sslContext'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='startException' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='systemUsage' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:systemUsage'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='taskRunnerFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:taskRunnerFactory'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='tempDataStore' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:pListStoreImpl'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='transportConnectorURIs' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='transportConnectors' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the transport connectors which this broker will listen on for new
+clients
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:transportConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='adjustUsageLimits' type='xs:boolean'/>
+      <xs:attribute name='adminView' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Returns the administration view of the broker; used to create and destroy
+resources such as queues and topics. Note this method returns null if JMX
+is disabled.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='advisorySupport' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Allows the support of advisory messages to be disabled for performance
+reasons.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='allowTempAutoCreationOnSend' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            enable if temp destinations need to be propagated through a network when
+advisorySupport==false. This is used in conjunction with the policy
+gcInactiveDestinations for matching temps so they can get removed
+when inactive
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='brokerContext' type='xs:string'/>
+      <xs:attribute name='brokerId' type='xs:string'/>
+      <xs:attribute name='brokerName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the name of this broker; which must be unique in the network
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='brokerObjectName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JMX ObjectName for this broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='cacheTempDestinations' type='xs:boolean'/>
+      <xs:attribute name='consumerSystemUsage' type='xs:string'/>
+      <xs:attribute name='consumerSystemUsagePortion' type='xs:integer'/>
+      <xs:attribute name='dataDirectory' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dataDirectoryFile' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dedicatedTaskRunner' type='xs:boolean'/>
+      <xs:attribute name='deleteAllMessagesOnStartup' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not all messages are deleted on startup - mostly only
+useful for testing.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='destinationFactory' type='xs:string'/>
+      <xs:attribute name='destinationPolicy' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the destination specific policies available either for exact
+destinations or for wildcard areas of destinations.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='diskUsageCheckRegrowThreshold' type='xs:string'/>
+      <xs:attribute name='enableStatistics' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not the Broker's services enable statistics or not.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='ioExceptionHandler' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            override the Default IOException handler, called when persistence adapter
+has experiences File or JDBC I/O Exceptions
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='jobSchedulerStore' type='xs:string'/>
+      <xs:attribute name='keepDurableSubsActive' type='xs:boolean'/>
+      <xs:attribute name='managementContext' type='xs:string'/>
+      <xs:attribute name='maxPurgedDestinationsPerSweep' type='xs:integer'/>
+      <xs:attribute name='mbeanInvocationTimeout' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Gets the time in Milliseconds that an invocation of an MBean method will wait before
+failing.  The default value is to wait forever (zero).
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='messageAuthorizationPolicy' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the policy used to decide if the current connection is authorized to
+consume a given message
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='monitorConnectionSplits' type='xs:boolean'/>
+      <xs:attribute name='networkConnectorStartAsync' type='xs:boolean'/>
+      <xs:attribute name='offlineDurableSubscriberTaskSchedule' type='xs:long'/>
+      <xs:attribute name='offlineDurableSubscriberTimeout' type='xs:long'/>
+      <xs:attribute name='passiveSlave' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the passiveSlave
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='persistenceAdapter' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the persistence adaptor implementation to use for this broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='persistenceFactory' type='xs:string'/>
+      <xs:attribute name='persistenceTaskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='persistenceThreadPriority' type='xs:integer'/>
+      <xs:attribute name='persistent' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not persistence is enabled or disabled.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='populateJMSXUserID' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not the broker should populate the JMSXUserID header.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='populateUserNameInMBeans' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Should MBeans that support showing the Authenticated User Name information have this
+value filled in or not.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='producerSystemUsage' type='xs:string'/>
+      <xs:attribute name='producerSystemUsagePortion' type='xs:integer'/>
+      <xs:attribute name='regionBroker' type='xs:string'/>
+      <xs:attribute name='rejectDurableConsumers' type='xs:boolean'/>
+      <xs:attribute name='restartAllowed' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets if the broker allowed to restart on shutdown.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='schedulePeriodForDestinationPurge' type='xs:integer'/>
+      <xs:attribute name='schedulePeriodForDiskUsageCheck' type='xs:integer'/>
+      <xs:attribute name='schedulerDirectory' type='xs:string'/>
+      <xs:attribute name='schedulerDirectoryFile' type='xs:string'/>
+      <xs:attribute name='schedulerSupport' type='xs:string'/>
+      <xs:attribute name='shutdownOnMasterFailure' type='xs:boolean'/>
+      <xs:attribute name='shutdownOnSlaveFailure' type='xs:string'/>
+      <xs:attribute name='splitSystemUsageForProducersConsumers' type='xs:boolean'/>
+      <xs:attribute name='sslContext' type='xs:string'/>
+      <xs:attribute name='startAsync' type='xs:boolean'/>
+      <xs:attribute name='startException' type='xs:string'/>
+      <xs:attribute name='storeOpenWireVersion' type='xs:integer'/>
+      <xs:attribute name='systemExitOnShutdown' type='xs:string'/>
+      <xs:attribute name='systemExitOnShutdownExitCode' type='xs:integer'/>
+      <xs:attribute name='systemUsage' type='xs:string'/>
+      <xs:attribute name='taskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='taskRunnerPriority' type='xs:integer'/>
+      <xs:attribute name='tempDataStore' type='xs:string'/>
+      <xs:attribute name='timeBeforePurgeTempDestinations' type='xs:integer'/>
+      <xs:attribute name='tmpDataDirectory' type='xs:string'/>
+      <xs:attribute name='useAuthenticatedPrincipalForJMSXUserID' type='xs:boolean'/>
+      <xs:attribute name='useJmx' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not the Broker's services should be exposed into JMX or
+not.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useLocalHostBrokerName' type='xs:boolean'/>
+      <xs:attribute name='useLoggingForShutdownErrors' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not we should use commons-logging when reporting errors
+when shutting down the broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useMirroredQueues' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not <a
+href="http://activemq.apache.org/mirrored-queues.html">Mirrored
+Queues</a> should be supported by default if they have not been
+explicitly configured.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useShutdownHook' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not we should use a shutdown handler to close down the
+broker cleanly if the JVM is terminated. It is recommended you leave this
+enabled.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useTempMirroredQueues' type='xs:boolean'/>
+      <xs:attribute name='useVirtualDestSubs' type='xs:boolean'/>
+      <xs:attribute name='useVirtualDestSubsOnCreation' type='xs:boolean'/>
+      <xs:attribute name='useVirtualTopics' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not <a
+href="http://activemq.apache.org/virtual-destinations.html">Virtual
+Topics</a> should be supported by default if they have not been
+explicitly configured.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='vmConnectorURI' type='xs:string'/>
+      <xs:attribute name='waitForSlave' type='xs:string'/>
+      <xs:attribute name='waitForSlaveTimeout' type='xs:long'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.store.jdbc.adapter.BytesJDBCAdapter -->
+  <xs:element name='bytesJDBCAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        This JDBCAdapter inserts and extracts BLOB data using the
+setBytes()/getBytes() operations. The databases/JDBC drivers that use this
+adapter are:
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='statements' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:statements'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='batchStatements' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set the number of statements to process as a single batch DB update
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='batchStatments' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxRows' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            the max value for statement maxRows, used to limit jdbc queries
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='statements' type='xs:string'/>
+      <xs:attribute name='useExternalMessageReferences' type='xs:boolean'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.security.CachedLDAPAuthorizationMap -->
+  <xs:element name='cachedLDAPAuthorizationMap'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A {@link DefaultAuthorizationMap} implementation which uses LDAP to initialize and update authorization
+policy.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='adminPermissionGroupSearchFilter' type='xs:string'/>
+      <xs:attribute name='authentication' type='xs:string'/>
+      <xs:attribute name='connectionPassword' type='xs:string'/>
+      <xs:attribute name='connectionProtocol' type='xs:string'/>
+      <xs:attribute name='connectionURL' type='xs:string'/>
+      <xs:attribute name='connectionUsername' type='xs:string'/>
+      <xs:attribute name='groupClass' type='xs:string'/>
+      <xs:attribute name='groupNameAttribute' type='xs:string'/>
+      <xs:attribute name='groupObjectClass' type='xs:string'/>
+      <xs:attribute name='legacyGroupMapping' type='xs:boolean'/>
+      <xs:attribute name='permissionGroupMemberAttribute' type='xs:string'/>
+      <xs:attribute name='queueSearchBase' type='xs:string'/>
+      <xs:attribute name='readPermissionGroupSearchFilter' type='xs:string'/>
+      <xs:attribute name='refreshDisabled' type='xs:boolean'/>
+      <xs:attribute name='refreshInterval' type='xs:integer'/>
+      <xs:attribute name='tempSearchBase' type='xs:string'/>
+      <xs:attribute name='topicSearchBase' type='xs:string'/>
+      <xs:attribute name='userNameAttribute' type='xs:string'/>
+      <xs:attribute name='userObjectClass' type='xs:string'/>
+      <xs:attribute name='writePermissionGroupSearchFilter' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.broker.region.group.CachedMessageGroupMapFactory -->
+  <xs:element name='cachedMessageGroupMapFactory'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A factory to create instances of {@link org.apache.activemq.broker.region.group.CachedMessageGroupMap} when implementing the
+<a href="http://activemq.apache.org/message-groups.html">Message Groups</a> functionality.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='cacheSize' type='xs:integer'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.camel.component.CamelEndpointLoader -->
+  <xs:element name='camelEndpointLoader'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A helper bean which populates a {@link CamelContext} with ActiveMQ Queue endpoints
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='camelContext' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='component' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='source' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='camelContext' type='xs:string'/>
+      <xs:attribute name='component' type='xs:string'/>
+      <xs:attribute name='source' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.camel.camelplugin.CamelRoutesBrokerPlugin -->
+  <xs:element name='camelRoutesBrokerPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A CamelRoutesBrokerPlugin
+
+load camel routes dynamically from a routes.xml file located in same directory as ActiveMQ.xml
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='checkPeriod' type='xs:integer'/>
+      <xs:attribute name='routesFile' type='xs:string'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.network.CompositeDemandForwardingBridge -->
+  <xs:element name='compositeDemandForwardingBridge'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A demand forwarding bridge which works with multicast style transports where
+a single Transport could be communicating with multiple remote brokers
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='brokerService' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:broker'/>
+              <xs:element ref='tns:brokerService'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='configuration' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:ldapNetworkConnector'/>
+              <xs:element ref='tns:multicastNetworkConnector'/>
+              <xs:element ref='tns:networkConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='durableDestinations' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:queue'/>
+              <xs:element ref='tns:tempQueue'/>
+              <xs:element ref='tns:tempTopic'/>
+              <xs:element ref='tns:topic'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='dynamicallyIncludedDestinations' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:queue'/>
+              <xs:element ref='tns:tempQueue'/>
+              <xs:element ref='tns:tempTopic'/>
+              <xs:element ref='tns:topic'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='excludedDestinations' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:queue'/>
+              <xs:element ref='tns:tempQueue'/>

[... 8475 lines stripped ...]