You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2013/02/11 17:35:56 UTC

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

Added: websites/production/activemq/content/schema/core/activemq-core-5.8.0.xsd
==============================================================================
--- websites/production/activemq/content/schema/core/activemq-core-5.8.0.xsd (added)
+++ websites/production/activemq/content/schema/core/activemq-core-5.8.0.xsd Mon Feb 11 16:35:55 2013
@@ -0,0 +1,9590 @@
+<?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.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: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='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.store.amq.AMQPersistenceAdapter -->
+  <xs:element name='amqPersistenceAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An implementation of {@link PersistenceAdapter} designed for use with a
+{@link Journal} and then check pointing asynchronously on a timeout with some
+other long term persistent storage.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='asyncDataManager' 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='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='referenceStoreAdapter' 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='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='usageManager' 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='wireFormat' 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='archiveDataLogs' type='xs:boolean'/>
+      <xs:attribute name='asyncDataManager' type='xs:string'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkpointInterval' type='xs:long'/>
+      <xs:attribute name='cleanupInterval' type='xs:long'/>
+      <xs:attribute name='directory' type='xs:string'/>
+      <xs:attribute name='directoryArchive' type='xs:string'/>
+      <xs:attribute name='disableLocking' type='xs:boolean'/>
+      <xs:attribute name='forceRecoverReferenceStore' type='xs:boolean'/>
+      <xs:attribute name='indexBinSize' type='xs:integer'/>
+      <xs:attribute name='indexKeySize' type='xs:integer'/>
+      <xs:attribute name='indexLoadFactor' type='xs:integer'/>
+      <xs:attribute name='indexMaxBinSize' type='xs:integer'/>
+      <xs:attribute name='indexPageSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='journalThreadPriority' type='xs:integer'/>
+      <xs:attribute name='maxCheckpointMessageAddSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxFileLength' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxReferenceFileLength' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='persistentIndex' type='xs:boolean'/>
+      <xs:attribute name='recoverReferenceStore' type='xs:boolean'/>
+      <xs:attribute name='referenceStoreAdapter' type='xs:string'/>
+      <xs:attribute name='syncOnWrite' type='xs:boolean'/>
+      <xs:attribute name='taskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='usageManager' type='xs:string'/>
+      <xs:attribute name='useDedicatedTaskRunner' type='xs:boolean'/>
+      <xs:attribute name='useNio' type='xs:boolean'/>
+      <xs:attribute name='wireFormat' 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.amq.AMQPersistenceAdapterFactory -->
+  <xs:element name='amqPersistenceAdapterFactory'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An implementation of {@link PersistenceAdapterFactory}
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='referenceStoreAdapter' 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='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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='checkpointInterval' type='xs:long'/>
+      <xs:attribute name='cleanupInterval' type='xs:long'/>
+      <xs:attribute name='dataDirectory' type='xs:string'/>
+      <xs:attribute name='forceRecoverReferenceStore' type='xs:boolean'/>
+      <xs:attribute name='indexBinSize' type='xs:integer'/>
+      <xs:attribute name='indexKeySize' type='xs:integer'/>
+      <xs:attribute name='indexLoadFactor' type='xs:integer'/>
+      <xs:attribute name='indexMaxBinSize' type='xs:integer'/>
+      <xs:attribute name='indexPageSize' type='xs:integer'/>
+      <xs:attribute name='journalThreadPriority' type='xs:integer'/>
+      <xs:attribute name='maxFileLength' type='xs:integer'/>
+      <xs:attribute name='maxReferenceFileLength' type='xs:integer'/>
+      <xs:attribute name='persistentIndex' type='xs:boolean'/>
+      <xs:attribute name='recoverReferenceStore' type='xs:boolean'/>
+      <xs:attribute name='referenceStoreAdapter' type='xs:string'/>
+      <xs:attribute name='syncOnTransaction' type='xs:boolean'/>
+      <xs:attribute name='syncOnWrite' type='xs:boolean'/>
+      <xs:attribute name='taskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='useDedicatedTaskRunner' type='xs:boolean'/>
+      <xs:attribute name='useNio' 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.AuthenticationUser -->
+  <xs:element name='authenticationUser'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A helper object used to configure simple authentiaction 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.AuthorizationEntry -->
+  <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.DefaultAuthorizationMap -->
+  <xs:element name='authorizationMap'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Represents a destination based configuration of policies so that individual
+destinations or wildcard hierarchies of destinations can be configured using
+different policies. Each entry in the map represents the authorization ACLs
+for each operation.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <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='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='batchStatments' type='xs:boolean'/>
+      <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='batchStatments' type='xs:boolean'/>
+      <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: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:amqPersistenceAdapter'/>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:journalPersistenceAdapter'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:kahaPersistenceAdapter'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:memoryPersistenceAdapter'/>
+              <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:amqPersistenceAdapterFactory'/>
+              <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:connectionDotFilePlugin'/>
+              <xs:element ref='tns:destinationDotFilePlugin'/>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <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:redeliveryPlugin'/>
+              <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: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:commandAgent'/>
+              <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: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: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='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: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='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='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='schedulePeriodForDestinationPurge' 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='supportFailOver' type='xs:boolean'/>
+      <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='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 lifecycle 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: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:amqPersistenceAdapter'/>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:journalPersistenceAdapter'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:kahaPersistenceAdapter'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:memoryPersistenceAdapter'/>
+              <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:amqPersistenceAdapterFactory'/>
+              <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:connectionDotFilePlugin'/>
+              <xs:element ref='tns:destinationDotFilePlugin'/>
+              <xs:element ref='tns:destinationPathSeparatorPlugin'/>
+              <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:redeliveryPlugin'/>
+              <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: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:commandAgent'/>
+              <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: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: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='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: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='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='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='schedulePeriodForDestinationPurge' 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='supportFailOver' type='xs:boolean'/>
+      <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='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='batchStatments' type='xs:boolean'/>
+      <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: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='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='defaultEntry' 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='tempDestinationAuthorizationEntry' type='xs:string'/>
+      <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.util.CommandAgent -->
+  <xs:element name='commandAgent'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An agent which listens to commands on a JMS destination
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='commandDestination' 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='connection' 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='connectionFactory' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:connectionFactory'/>
+              <xs:element ref='tns:xaConnectionFactory'/>
+              <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='brokerUrl' type='xs:string'/>
+      <xs:attribute name='commandDestination' type='xs:string'/>
+      <xs:attribute name='connection' type='xs:string'/>
+      <xs:attribute name='connectionFactory' 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.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'/>
+              <xs:element ref='tns:tempTopic'/>
+              <xs:element ref='tns:topic'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='localBroker' 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='networkBridgeListener' minOccurs='0' maxOccurs='1'>

[... 7663 lines stripped ...]