You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2020/07/16 05:06:44 UTC

[activemq-website] branch master updated: Publish ActiveMQ 5.16.0 schema and xsd

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 00c1697  Publish ActiveMQ 5.16.0 schema and xsd
00c1697 is described below

commit 00c16975854fe7dfbd629f78ebde62cbd043aacc
Author: jbonofre <jb...@apache.org>
AuthorDate: Thu Jul 16 07:06:18 2020 +0200

    Publish ActiveMQ 5.16.0 schema and xsd
---
 .../schema/core/activemq-core-5.16.0-schema.html   |  3210 ++++++
 .../core/activemq-core-5.16.0-schema.html.asc      |    16 +
 .../core/activemq-core-5.16.0-schema.html.asc.md5  |     1 +
 .../core/activemq-core-5.16.0-schema.html.asc.sha1 |     1 +
 .../core/activemq-core-5.16.0-schema.html.md5      |     1 +
 .../core/activemq-core-5.16.0-schema.html.sha1     |     1 +
 content/schema/core/activemq-core-5.16.0.xsd       | 10590 +++++++++++++++++++
 content/schema/core/activemq-core-5.16.0.xsd.asc   |    16 +
 .../schema/core/activemq-core-5.16.0.xsd.asc.md5   |     1 +
 .../schema/core/activemq-core-5.16.0.xsd.asc.sha1  |     1 +
 content/schema/core/activemq-core-5.16.0.xsd.md5   |     1 +
 content/schema/core/activemq-core-5.16.0.xsd.sha1  |     1 +
 content/schema/core/activemq-core.xsd              |     2 +-
 src/schema/core/activemq-core-5.16.0-schema.html   |  3210 ++++++
 .../core/activemq-core-5.16.0-schema.html.asc      |    16 +
 .../core/activemq-core-5.16.0-schema.html.asc.md5  |     1 +
 .../core/activemq-core-5.16.0-schema.html.asc.sha1 |     1 +
 .../core/activemq-core-5.16.0-schema.html.md5      |     1 +
 .../core/activemq-core-5.16.0-schema.html.sha1     |     1 +
 src/schema/core/activemq-core-5.16.0.xsd           | 10590 +++++++++++++++++++
 src/schema/core/activemq-core-5.16.0.xsd.asc       |    16 +
 src/schema/core/activemq-core-5.16.0.xsd.asc.md5   |     1 +
 src/schema/core/activemq-core-5.16.0.xsd.asc.sha1  |     1 +
 src/schema/core/activemq-core-5.16.0.xsd.md5       |     1 +
 src/schema/core/activemq-core-5.16.0.xsd.sha1      |     1 +
 src/schema/core/activemq-core.xsd                  |     2 +-
 26 files changed, 27682 insertions(+), 2 deletions(-)

diff --git a/content/schema/core/activemq-core-5.16.0-schema.html b/content/schema/core/activemq-core-5.16.0-schema.html
new file mode 100644
index 0000000..f3df745
--- /dev/null
+++ b/content/schema/core/activemq-core-5.16.0-schema.html
@@ -0,0 +1,3210 @@
+<!-- NOTE: this file is autogenerated by Apache XBean -->
+<html>
+<head>
+<title>Schema for namespace: http://activemq.apache.org/schema/core</title>
+<link rel='stylesheet' href='style.css' type='text/css'>
+<link rel='stylesheet' href='http://activemq.org/style.css' type='text/css'>
+<link rel='stylesheet' href='http://activemq.org/style-xb.css' type='text/css'>
+</head>
+
+<body>
+
+<h1>Root Element</h1>
+<table>
+  <tr><th>Element</th><th>Description</th><th>Class</th>
+  <tr><td><a href='#broker'>broker</a></td><td>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.</td><td>org.apache.activemq.xbean.XBeanBrokerService</td></tr>
+</table>
+
+<h1>Element Summary</h1>
+<table>
+  <tr><th>Element</th><th>Description</th><th>Class</th>
+  <tr><td><a href='#abortSlowAckConsumerStrategy'>abortSlowAckConsumerStrategy</a></td><td>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.</td><td>org.apache.activemq.broker.region.policy.AbortSlowAckConsumerStrategy</td></tr>
+  <tr><td><a href='#abortSlowConsumerStrategy'>abortSlowConsumerStrategy</a></td><td>Abort slow consumers when they reach the configured threshold of slowness, default is slow for 30 seconds</td><td>org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy</td></tr>
+  <tr><td><a href='#authenticationUser'>authenticationUser</a></td><td>A helper object used to configure simple authentication plugin</td><td>org.apache.activemq.security.AuthenticationUser</td></tr>
+  <tr><td><a href='#authorizationEntry'>authorizationEntry</a></td><td>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.</td><td>org.apache.activemq.security.XBeanAuthorizationEntry</td></tr>
+  <tr><td><a href='#authorizationMap'>authorizationMap</a></td><td></td><td>org.apache.activemq.security.XBeanAuthorizationMap</td></tr>
+  <tr><td><a href='#authorizationPlugin'>authorizationPlugin</a></td><td>An authorization plugin where each operation on a destination is checked
+against an authorizationMap</td><td>org.apache.activemq.security.AuthorizationPlugin</td></tr>
+  <tr><td><a href='#axionJDBCAdapter'>axionJDBCAdapter</a></td><td>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.</td><td>org.apache.activemq.store.jdbc.adapter.AxionJDBCAdapter</td></tr>
+  <tr><td><a href='#blobJDBCAdapter'>blobJDBCAdapter</a></td><td>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></td><td>org.apache.activemq.store.jdbc.adapter.BlobJDBCAdapter</td></tr>
+  <tr><td><a href='#broker'>broker</a></td><td>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.</td><td>org.apache.activemq.xbean.XBeanBrokerService</td></tr>
+  <tr><td><a href='#brokerService'>brokerService</a></td><td>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.</td><td>org.apache.activemq.broker.BrokerService</td></tr>
+  <tr><td><a href='#bytesJDBCAdapter'>bytesJDBCAdapter</a></td><td>This JDBCAdapter inserts and extracts BLOB data using the
+setBytes()/getBytes() operations. The databases/JDBC drivers that use this
+adapter are:</td><td>org.apache.activemq.store.jdbc.adapter.BytesJDBCAdapter</td></tr>
+  <tr><td><a href='#cachedLDAPAuthorizationMap'>cachedLDAPAuthorizationMap</a></td><td>A {@link DefaultAuthorizationMap} implementation which uses LDAP to initialize and update authorization
+policy.</td><td>org.apache.activemq.security.CachedLDAPAuthorizationMap</td></tr>
+  <tr><td><a href='#cachedMessageGroupMapFactory'>cachedMessageGroupMapFactory</a></td><td>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.</td><td>org.apache.activemq.broker.region.group.CachedMessageGroupMapFactory</td></tr>
+  <tr><td><a href='#camelEndpointLoader'>camelEndpointLoader</a></td><td>A helper bean which populates a {@link CamelContext} with ActiveMQ Queue endpoints</td><td>org.apache.activemq.camel.component.CamelEndpointLoader</td></tr>
+  <tr><td><a href='#camelRoutesBrokerPlugin'>camelRoutesBrokerPlugin</a></td><td>A CamelRoutesBrokerPlugin
+
+load camel routes dynamically from a routes.xml file located in same directory as ActiveMQ.xml</td><td>org.apache.activemq.camel.camelplugin.CamelRoutesBrokerPlugin</td></tr>
+  <tr><td><a href='#compositeDemandForwardingBridge'>compositeDemandForwardingBridge</a></td><td>A demand forwarding bridge which works with multicast style transports where
+a single Transport could be communicating with multiple remote brokers</td><td>org.apache.activemq.network.CompositeDemandForwardingBridge</td></tr>
+  <tr><td><a href='#compositeQueue'>compositeQueue</a></td><td>Represents a virtual queue which forwards to a number of other destinations.</td><td>org.apache.activemq.broker.region.virtual.CompositeQueue</td></tr>
+  <tr><td><a href='#compositeTopic'>compositeTopic</a></td><td>Represents a virtual topic which forwards to a number of other destinations.</td><td>org.apache.activemq.broker.region.virtual.CompositeTopic</td></tr>
+  <tr><td><a href='#conditionalNetworkBridgeFilterFactory'>conditionalNetworkBridgeFilterFactory</a></td><td>implement conditional behavior for queue consumers, allows replaying back to
+origin if no consumers are present on the local broker after a configurable
+delay, irrespective of the TTL. Also allows rate limiting of messages
+through the network, useful for static includes</td><td>org.apache.activemq.network.ConditionalNetworkBridgeFilterFactory</td></tr>
+  <tr><td><a href='#connectionDotFilePlugin'>connectionDotFilePlugin</a></td><td>A <a href="http://www.graphviz.org/">DOT</a> file creator plugin which
+creates a DOT file showing the current connections</td><td>org.apache.activemq.broker.view.ConnectionDotFilePlugin</td></tr>
+  <tr><td><a href='#connectionFactory'>connectionFactory</a></td><td>A <a href="http://www.springframework.org/">Spring</a> enhanced connection
+factory which will automatically use the Spring bean name as the clientIDPrefix property
+so that connections created have client IDs related to your Spring.xml file for
+easier comprehension from <a href="http://activemq.apache.org/jmx.html">JMX</a>.</td><td>org.apache.activemq.spring.ActiveMQConnectionFactory</td></tr>
+  <tr><td><a href='#constantPendingMessageLimitStrategy'>constantPendingMessageLimitStrategy</a></td><td>This PendingMessageLimitStrategy is configured to a constant value for all subscriptions.</td><td>org.apache.activemq.broker.region.policy.ConstantPendingMessageLimitStrategy</td></tr>
+  <tr><td><a href='#database-locker'>database-locker</a></td><td>Represents an exclusive lock on a database to avoid multiple brokers running
+against the same logical database.</td><td>org.apache.activemq.store.jdbc.DefaultDatabaseLocker</td></tr>
+  <tr><td><a href='#db2JDBCAdapter'>db2JDBCAdapter</a></td><td></td><td>org.apache.activemq.store.jdbc.adapter.DB2JDBCAdapter</td></tr>
+  <tr><td><a href='#defaultIOExceptionHandler'>defaultIOExceptionHandler</a></td><td></td><td>org.apache.activemq.util.DefaultIOExceptionHandler</td></tr>
+  <tr><td><a href='#defaultJDBCAdapter'>defaultJDBCAdapter</a></td><td>Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter. <p/> sub-classing is
+encouraged to override the default implementation of methods to account for differences in JDBC Driver
+implementations. <p/> The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations. <p/>
+The databases/JDBC drivers that use this adapter are:
+<ul>
+<li></li>
+</ul></td><td>org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter</td></tr>
+  <tr><td><a href='#defaultNetworkBridgeFilterFactory'>defaultNetworkBridgeFilterFactory</a></td><td>implement default behavior, filter that will not allow re-send to origin
+based on brokerPath and which respects networkTTL</td><td>org.apache.activemq.network.DefaultNetworkBridgeFilterFactory</td></tr>
+  <tr><td><a href='#defaultUsageCapacity'>defaultUsageCapacity</a></td><td>Identify if a limit has been reached</td><td>org.apache.activemq.usage.DefaultUsageCapacity</td></tr>
+  <tr><td><a href='#demandForwardingBridge'>demandForwardingBridge</a></td><td>Forwards messages from the local broker to the remote broker based on demand.</td><td>org.apache.activemq.network.DemandForwardingBridge</td></tr>
+  <tr><td><a href='#destinationDotFilePlugin'>destinationDotFilePlugin</a></td><td>A <a href="http://www.graphviz.org/">DOT</a> 
+file creator plugin which creates a DOT file showing the current topic & queue hierarchies.</td><td>org.apache.activemq.broker.view.DestinationDotFilePlugin</td></tr>
+  <tr><td><a href='#destinationEntry'>destinationEntry</a></td><td>A default entry in a DestinationMap which holds a single value.</td><td>org.apache.activemq.filter.DefaultDestinationMapEntry</td></tr>
+  <tr><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a></td><td></td><td>org.apache.activemq.broker.util.DestinationPathSeparatorBroker</td></tr>
+  <tr><td><a href='#destinationsPlugin'>destinationsPlugin</a></td><td>A simple plugin that can be used to export/import runtime destinations. It's useful in security constrained
+environments where you want to create destinations only through the management APIs and be able to
+replicate them to another broker</td><td>org.apache.activemq.broker.util.DestinationsPlugin</td></tr>
+  <tr><td><a href='#discarding'>discarding</a></td><td>Dead Letter Strategy that discards all messages</td><td>org.apache.activemq.broker.region.policy.DiscardingDeadLetterStrategy</td></tr>
+  <tr><td><a href='#discardingDLQBrokerPlugin'>discardingDLQBrokerPlugin</a></td><td></td><td>org.apache.activemq.plugin.DiscardingDLQBrokerPlugin</td></tr>
+  <tr><td><a href='#fileCursor'>fileCursor</a></td><td>Pending messages</td><td>org.apache.activemq.broker.region.policy.FilePendingSubscriberMessageStoragePolicy</td></tr>
+  <tr><td><a href='#fileDurableSubscriberCursor'>fileDurableSubscriberCursor</a></td><td>Pending messages for durable subscribers</td><td>org.apache.activemq.broker.region.policy.FilePendingDurableSubscriberMessageStoragePolicy</td></tr>
+  <tr><td><a href='#fileQueueCursor'>fileQueueCursor</a></td><td>Pending</td><td>org.apache.activemq.broker.region.policy.FilePendingQueueMessageStoragePolicy</td></tr>
+  <tr><td><a href='#filteredDestination'>filteredDestination</a></td><td>Represents a destination which is filtered using some predicate such as a selector
+so that messages are only dispatched to the destination if they match the filter.</td><td>org.apache.activemq.broker.region.virtual.FilteredDestination</td></tr>
+  <tr><td><a href='#filteredKahaDB'>filteredKahaDB</a></td><td></td><td>org.apache.activemq.store.kahadb.FilteredKahaDBPersistenceAdapter</td></tr>
+  <tr><td><a href='#fixedCountSubscriptionRecoveryPolicy'>fixedCountSubscriptionRecoveryPolicy</a></td><td>This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed
+count of last messages.</td><td>org.apache.activemq.broker.region.policy.FixedCountSubscriptionRecoveryPolicy</td></tr>
+  <tr><td><a href='#fixedSizedSubscriptionRecoveryPolicy'>fixedSizedSubscriptionRecoveryPolicy</a></td><td>This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed
+amount of memory available in RAM for message history which is evicted in
+time order.</td><td>org.apache.activemq.broker.region.policy.FixedSizedSubscriptionRecoveryPolicy</td></tr>
+  <tr><td><a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a></td><td>A Plugin which allows to force every incoming message to be PERSISTENT or NON-PERSISTENT. 
+
+Useful, if you have set the broker usage policy to process ONLY persistent or ONLY non-persistent
+messages.</td><td>org.apache.activemq.plugin.ForcePersistencyModeBroker</td></tr>
+  <tr><td><a href='#forcePersistencyModeBrokerPlugin'>forcePersistencyModeBrokerPlugin</a></td><td>A Plugin which allows to force every incoming message to be PERSISTENT or
+NON-PERSISTENT.
+
+Useful, if you have set the broker usage policy to process ONLY persistent or
+ONLY non-persistent messages.</td><td>org.apache.activemq.plugin.ForcePersistencyModeBrokerPlugin</td></tr>
+  <tr><td><a href='#forwardingBridge'>forwardingBridge</a></td><td>Forwards all messages from the local broker to the remote broker.</td><td>org.apache.activemq.network.ForwardingBridge</td></tr>
+  <tr><td><a href='#hsqldb-jdbc-adapter'>hsqldb-jdbc-adapter</a></td><td></td><td>org.apache.activemq.store.jdbc.adapter.HsqldbJDBCAdapter</td></tr>
+  <tr><td><a href='#imageBasedJDBCAdaptor'>imageBasedJDBCAdaptor</a></td><td>Provides JDBCAdapter since that uses
+IMAGE datatype to hold binary data.
+
+The databases/JDBC drivers that use this adapter are:
+<ul>
+<li>Sybase</li>
+<li>MS SQL</li>
+</ul></td><td>org.apache.activemq.store.jdbc.adapter.ImageBasedJDBCAdaptor</td></tr>
+  <tr><td><a href='#inboundQueueBridge'>inboundQueueBridge</a></td><td>Create an Inbound Queue Bridge.  By default this class uses the sname name for
+both the inbound and outbound queue.  This behavior can be overridden however
+by using the setter methods to configure both the inbound and outboud queue names
+separately.</td><td>org.apache.activemq.network.jms.InboundQueueBridge</td></tr>
+  <tr><td><a href='#inboundTopicBridge'>inboundTopicBridge</a></td><td>Create an Inbound Topic Bridge.  By default this class uses the topic name for
+both the inbound and outbound topic.  This behavior can be overridden however
+by using the setter methods to configure both the inbound and outboud topic names
+separately.</td><td>org.apache.activemq.network.jms.InboundTopicBridge</td></tr>
+  <tr><td><a href='#individualDeadLetterStrategy'>individualDeadLetterStrategy</a></td><td>A {@link DeadLetterStrategy} where each destination has its own individual
+DLQ using the subject naming hierarchy.</td><td>org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy</td></tr>
+  <tr><td><a href='#informixJDBCAdapter'>informixJDBCAdapter</a></td><td>JDBC Adapter for Informix database.
+Because Informix database restricts length of composite primary keys, length of 
+<i>container name</i> field and <i>subscription id</i> field must be reduced to 150 characters.
+Therefore be sure not to use longer names for container name and subscription id than 150 characters.</td><td>org.apache.activemq.store.jdbc.adapter.InformixJDBCAdapter</td></tr>
+  <tr><td><a href='#jDBCIOExceptionHandler'>jDBCIOExceptionHandler</a></td><td></td><td>org.apache.activemq.store.jdbc.JDBCIOExceptionHandler</td></tr>
+  <tr><td><a href='#jaasAuthenticationPlugin'>jaasAuthenticationPlugin</a></td><td>Provides a JAAS based authentication plugin</td><td>org.apache.activemq.security.JaasAuthenticationPlugin</td></tr>
+  <tr><td><a href='#jaasCertificateAuthenticationPlugin'>jaasCertificateAuthenticationPlugin</a></td><td>Provides a JAAS based SSL certificate authentication plugin</td><td>org.apache.activemq.security.JaasCertificateAuthenticationPlugin</td></tr>
+  <tr><td><a href='#jaasDualAuthenticationPlugin'>jaasDualAuthenticationPlugin</a></td><td>Provides a JAAS based authentication plugin</td><td>org.apache.activemq.security.JaasDualAuthenticationPlugin</td></tr>
+  <tr><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a></td><td>A {@link PersistenceAdapter} implementation using JDBC for persistence
+storage.
+
+This persistence adapter will correctly remember prepared XA transactions,
+but it will not keep track of local transaction commits so that operations
+performed against the Message store are done as a single uow.</td><td>org.apache.activemq.store.jdbc.JDBCPersistenceAdapter</td></tr>
+  <tr><td><a href='#jmsQueueConnector'>jmsQueueConnector</a></td><td>A Bridge to other JMS Queue providers</td><td>org.apache.activemq.network.jms.JmsQueueConnector</td></tr>
+  <tr><td><a href='#jmsTopicConnector'>jmsTopicConnector</a></td><td>A Bridge to other JMS Topic providers</td><td>org.apache.activemq.network.jms.JmsTopicConnector</td></tr>
+  <tr><td><a href='#jobSchedulerUsage'>jobSchedulerUsage</a></td><td>Used to keep track of how much of something is being used so that a
+productive working set usage can be controlled. Main use case is manage
+memory usage.</td><td>org.apache.activemq.usage.JobSchedulerUsage</td></tr>
+  <tr><td><a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a></td><td>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.</td><td>org.apache.activemq.store.journal.JournalPersistenceAdapter</td></tr>
+  <tr><td><a href='#journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a></td><td>Factory class that can create PersistenceAdapter objects.</td><td>org.apache.activemq.store.journal.JournalPersistenceAdapterFactory</td></tr>
+  <tr><td><a href='#journaledJDBC'>journaledJDBC</a></td><td>Creates a default persistence model using the Journal and JDBC</td><td>org.apache.activemq.store.PersistenceAdapterFactoryBean</td></tr>
+  <tr><td><a href='#kahaDB'>kahaDB</a></td><td>An implementation of {@link PersistenceAdapter} designed for use with
+KahaDB - Embedded Lightweight Non-Relational Database</td><td>org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter</td></tr>
+  <tr><td><a href='#lDAPAuthorizationMap'>lDAPAuthorizationMap</a></td><td>An {@link AuthorizationMap} which uses LDAP</td><td>org.apache.activemq.security.LDAPAuthorizationMap</td></tr>
+  <tr><td><a href='#lastImageSubscriptionRecoveryPolicy'>lastImageSubscriptionRecoveryPolicy</a></td><td>This implementation of {@link SubscriptionRecoveryPolicy} will only keep the
+last message.</td><td>org.apache.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy</td></tr>
+  <tr><td><a href='#ldapNetworkConnector'>ldapNetworkConnector</a></td><td>class to create dynamic network connectors listed in an directory server
+using the LDAP v3 protocol as defined in RFC 2251, the entries listed in the
+directory server must implement the ipHost and ipService objectClasses as
+defined in RFC 2307.</td><td>org.apache.activemq.network.LdapNetworkConnector</td></tr>
+  <tr><td><a href='#lease-database-locker'>lease-database-locker</a></td><td>Represents an exclusive lease on a database to avoid multiple brokers running
+against the same logical database.</td><td>org.apache.activemq.store.jdbc.LeaseDatabaseLocker</td></tr>
+  <tr><td><a href='#leaseLockerIOExceptionHandler'>leaseLockerIOExceptionHandler</a></td><td></td><td>org.apache.activemq.util.LeaseLockerIOExceptionHandler</td></tr>
+  <tr><td><a href='#levelDB'>levelDB</a></td><td>An implementation of {@link org.apache.activemq.store.PersistenceAdapter} designed for use with
+LevelDB - Embedded Lightweight Non-Relational Database</td><td>org.apache.activemq.store.leveldb.LevelDBPersistenceAdapter</td></tr>
+  <tr><td><a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a></td><td>A simple Broker intercepter which allows you to enable/disable logging.</td><td>org.apache.activemq.broker.util.LoggingBrokerPlugin</td></tr>
+  <tr><td><a href='#mKahaDB'>mKahaDB</a></td><td>An implementation of {@link org.apache.activemq.store.PersistenceAdapter}  that supports
+distribution of destinations across multiple kahaDB persistence adapters</td><td>org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter</td></tr>
+  <tr><td><a href='#managementContext'>managementContext</a></td><td>An abstraction over JMX mbean registration</td><td>org.apache.activemq.broker.jmx.ManagementContext</td></tr>
+  <tr><td><a href='#maxdb-jdbc-adapter'>maxdb-jdbc-adapter</a></td><td>JDBC Adapter for the MaxDB database.</td><td>org.apache.activemq.store.jdbc.adapter.MaxDBJDBCAdapter</td></tr>
+  <tr><td><a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a></td><td></td><td>org.apache.activemq.store.memory.MemoryPersistenceAdapter</td></tr>
+  <tr><td><a href='#memoryUsage'>memoryUsage</a></td><td>Used to keep track of how much of something is being used so that a
+productive working set usage can be controlled. Main use case is manage
+memory usage.</td><td>org.apache.activemq.usage.MemoryUsage</td></tr>
+  <tr><td><a href='#messageGroupHashBucketFactory'>messageGroupHashBucketFactory</a></td><td>A factory to create instances of {@link SimpleMessageGroupMap} when
+implementing the <a
+href="http://activemq.apache.org/message-groups.html">Message
+Groups</a> functionality.</td><td>org.apache.activemq.broker.region.group.MessageGroupHashBucketFactory</td></tr>
+  <tr><td><a href='#mirroredQueue'>mirroredQueue</a></td><td>Creates <a href="http://activemq.org/site/mirrored-queues.html">Mirrored
+Queue</a> using a prefix and postfix to define the topic name on which to mirror the queue to.</td><td>org.apache.activemq.broker.region.virtual.MirroredQueue</td></tr>
+  <tr><td><a href='#multicastNetworkConnector'>multicastNetworkConnector</a></td><td>A network connector which uses some kind of multicast-like transport that
+communicates with potentially many remote brokers over a single logical
+{@link Transport} instance such as when using multicast.
+
+This implementation does not depend on multicast at all; any other group
+based transport could be used.</td><td>org.apache.activemq.network.MulticastNetworkConnector</td></tr>
+  <tr><td><a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a></td><td>A Broker interceptor which allows you to trace all operations to a Multicast
+socket.</td><td>org.apache.activemq.broker.util.MulticastTraceBrokerPlugin</td></tr>
+  <tr><td><a href='#mysql-jdbc-adapter'>mysql-jdbc-adapter</a></td><td></td><td>org.apache.activemq.store.jdbc.adapter.MySqlJDBCAdapter</td></tr>
+  <tr><td><a href='#networkConnector'>networkConnector</a></td><td>A network connector which uses a discovery agent to detect the remote brokers
+available and setup a connection to each available remote broker</td><td>org.apache.activemq.network.DiscoveryNetworkConnector</td></tr>
+  <tr><td><a href='#noSubscriptionRecoveryPolicy'>noSubscriptionRecoveryPolicy</a></td><td>This SubscriptionRecoveryPolicy disable recovery of messages.</td><td>org.apache.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy</td></tr>
+  <tr><td><a href='#oldestMessageEvictionStrategy'>oldestMessageEvictionStrategy</a></td><td>An eviction strategy which evicts the oldest message first (which is the
+default).</td><td>org.apache.activemq.broker.region.policy.OldestMessageEvictionStrategy</td></tr>
+  <tr><td><a href='#oldestMessageWithLowestPriorityEvictionStrategy'>oldestMessageWithLowestPriorityEvictionStrategy</a></td><td>An eviction strategy which evicts the oldest message with the lowest priority first.</td><td>org.apache.activemq.broker.region.policy.OldestMessageWithLowestPriorityEvictionStrategy</td></tr>
+  <tr><td><a href='#oracleBlobJDBCAdapter'>oracleBlobJDBCAdapter</a></td><td>Implements all the default JDBC operations that are used
+by the JDBCPersistenceAdapter.
+<p/>
+Subclassing is encouraged to override the default
+implementation of methods to account for differences
+in JDBC Driver implementations.
+<p/>
+The JDBCAdapter inserts and extracts BLOB data using the
+getBytes()/setBytes() operations.
+<p/>
+The databases/JDBC drivers that use this adapter are:
+<ul>
+<li></li>
+</ul></td><td>org.apache.activemq.store.jdbc.adapter.OracleBlobJDBCAdapter</td></tr>
+  <tr><td><a href='#oracleJDBCAdapter'>oracleJDBCAdapter</a></td><td>Implements all the default JDBC operations that are used
+by the JDBCPersistenceAdapter.
+<p/>
+Subclassing is encouraged to override the default
+implementation of methods to account for differences
+in JDBC Driver implementations.
+<p/></td><td>org.apache.activemq.store.jdbc.adapter.OracleJDBCAdapter</td></tr>
+  <tr><td><a href='#outboundQueueBridge'>outboundQueueBridge</a></td><td>Create an Outbound Queue Bridge.  By default the bridge uses the same
+name for both the inbound and outbound queues, however this can be altered
+by using the public setter methods to configure both inbound and outbound
+queue names.</td><td>org.apache.activemq.network.jms.OutboundQueueBridge</td></tr>
+  <tr><td><a href='#outboundTopicBridge'>outboundTopicBridge</a></td><td>Create an Outbound Topic Bridge.  By default the bridge uses the same
+name for both the inbound and outbound topics, however this can be altered
+by using the public setter methods to configure both inbound and outbound
+topic names.</td><td>org.apache.activemq.network.jms.OutboundTopicBridge</td></tr>
+  <tr><td><a href='#pListStoreImpl'>pListStoreImpl</a></td><td></td><td>org.apache.activemq.store.kahadb.plist.PListStoreImpl</td></tr>
+  <tr><td><a href='#partitionBrokerPlugin'>partitionBrokerPlugin</a></td><td>A BrokerPlugin which partitions client connections over a cluster of brokers.</td><td>org.apache.activemq.partition.PartitionBrokerPlugin</td></tr>
+  <tr><td><a href='#policyEntry'>policyEntry</a></td><td>Represents an entry in a {@link PolicyMap} for assigning policies to a
+specific destination or a hierarchical wildcard area of destinations.</td><td>org.apache.activemq.broker.region.policy.PolicyEntry</td></tr>
+  <tr><td><a href='#policyMap'>policyMap</a></td><td>Represents a destination based configuration of policies so that individual
+destinations or wildcard hierarchies of destinations can be configured using
+different policies.</td><td>org.apache.activemq.broker.region.policy.PolicyMap</td></tr>
+  <tr><td><a href='#pooledConnectionFactory'>pooledConnectionFactory</a></td><td>Simple factory bean used to create a jencks connection pool.
+Depending on the properties set, it will create a simple pool,
+a transaction aware connection pool, or a jca aware connection pool.
+
+<pre class="code">
+<bean id="pooledConnectionFactory" class="javax.script.ScriptEngineFactory.PooledConnectionFactoryFactoryBean">
+  <property name="connectionFactory" ref="connectionFactory" />
+  <property name="transactionManager" ref="transactionManager" />
+  <property name="resourceName" value="ResourceName" />
+</bean>
+</pre>
+
+The <code>resourceName</code> property should be used along with the {@link org.apache.activemq.jms.pool.GenericResourceManager} and have
+the same value than its <code>resourceName</code> property. This will make sure the transaction manager
+maps correctly the connection factory to the recovery process.</td><td>org.apache.activemq.pool.PooledConnectionFactoryBean</td></tr>
+  <tr><td><a href='#postgresql-jdbc-adapter'>postgresql-jdbc-adapter</a></td><td>Implements all the default JDBC operations that are used
+by the JDBCPersistenceAdapter.
+<p/>
+Subclassing is encouraged to override the default
+implementation of methods to account for differences
+in JDBC Driver implementations.
+<p/>
+The JDBCAdapter inserts and extracts BLOB data using the
+getBytes()/setBytes() operations.
+<p/>
+The databases/JDBC drivers that use this adapter are:
+<ul>
+<li></li>
+</ul></td><td>org.apache.activemq.store.jdbc.adapter.PostgresqlJDBCAdapter</td></tr>
+  <tr><td><a href='#prefetchPolicy'>prefetchPolicy</a></td><td>Defines the prefetch message policies for different types of consumers</td><td>org.apache.activemq.ActiveMQPrefetchPolicy</td></tr>
+  <tr><td><a href='#prefetchRatePendingMessageLimitStrategy'>prefetchRatePendingMessageLimitStrategy</a></td><td>This PendingMessageLimitStrategy sets the maximum pending message limit value to be
+a multiplier of the prefetch limit of the subscription.</td><td>org.apache.activemq.broker.region.policy.PrefetchRatePendingMessageLimitStrategy</td></tr>
+  <tr><td><a href='#priorityDispatchPolicy'>priorityDispatchPolicy</a></td><td>Priority dispatch policy that sends a message to every subscription that
+matches the message in consumer priority order.</td><td>org.apache.activemq.broker.region.policy.PriorityDispatchPolicy</td></tr>
+  <tr><td><a href='#priorityNetworkDispatchPolicy'>priorityNetworkDispatchPolicy</a></td><td>dispatch policy that ignores lower priority duplicate network consumers,
+used in conjunction with network bridge suppresDuplicateTopicSubscriptions</td><td>org.apache.activemq.broker.region.policy.PriorityNetworkDispatchPolicy</td></tr>
+  <tr><td><a href='#proxyConnector'>proxyConnector</a></td><td></td><td>org.apache.activemq.proxy.ProxyConnector</td></tr>
+  <tr><td><a href='#publishedAddressPolicy'>publishedAddressPolicy</a></td><td>Policy object that controls how a TransportConnector publishes the connector's
+address to the outside world.  By default the connector will publish itself
+using the resolved host name of the bound server socket.</td><td>org.apache.activemq.broker.PublishedAddressPolicy</td></tr>
+  <tr><td><a href='#queryBasedSubscriptionRecoveryPolicy'>queryBasedSubscriptionRecoveryPolicy</a></td><td>This implementation of {@link SubscriptionRecoveryPolicy} will perform a user
+specific query mechanism to load any messages they may have missed.</td><td>org.apache.activemq.broker.region.policy.QueryBasedSubscriptionRecoveryPolicy</td></tr>
+  <tr><td><a href='#queue'>queue</a></td><td>An ActiveMQ Queue</td><td>org.apache.activemq.command.ActiveMQQueue</td></tr>
+  <tr><td><a href='#queueDispatchSelector'>queueDispatchSelector</a></td><td>Queue dispatch policy that determines if a message can be sent to a subscription</td><td>org.apache.activemq.broker.region.QueueDispatchSelector</td></tr>
+  <tr><td><a href='#reconnectionPolicy'>reconnectionPolicy</a></td><td>A policy object that defines how a {@link JmsConnector} deals with
+reconnection of the local and foreign connections.</td><td>org.apache.activemq.network.jms.ReconnectionPolicy</td></tr>
+  <tr><td><a href='#redeliveryPlugin'>redeliveryPlugin</a></td><td>Replace regular DLQ handling with redelivery via a resend to the original destination
+after a delay
+A destination matching RedeliveryPolicy controls the quantity and delay for re-sends
+If there is no matching policy or an existing policy limit is exceeded by default
+regular DLQ processing resumes. This is controlled via sendToDlqIfMaxRetriesExceeded
+and fallbackToDeadLetter</td><td>org.apache.activemq.broker.util.RedeliveryPlugin</td></tr>
+  <tr><td><a href='#redeliveryPolicy'>redeliveryPolicy</a></td><td>Configuration options for a messageConsumer used to control how messages are re-delivered when they
+are rolled back.
+May be used server side on a per destination basis via the Broker RedeliveryPlugin</td><td>org.apache.activemq.RedeliveryPolicy</td></tr>
+  <tr><td><a href='#redeliveryPolicyMap'>redeliveryPolicyMap</a></td><td>Represents a destination based configuration of policies so that individual
+destinations or wildcard hierarchies of destinations can be configured using
+different policies.</td><td>org.apache.activemq.broker.region.policy.RedeliveryPolicyMap</td></tr>
+  <tr><td><a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td>An implementation of {@link org.apache.activemq.store.PersistenceAdapter} designed for use with
+LevelDB - Embedded Lightweight Non-Relational Database</td><td>org.apache.activemq.store.leveldb.ReplicatedLevelDBPersistenceAdapter</td></tr>
+  <tr><td><a href='#retainedMessageSubscriptionRecoveryPolicy'>retainedMessageSubscriptionRecoveryPolicy</a></td><td>This implementation of {@link org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy} will only keep the
+last non-zero length message with the {@link org.apache.activemq.command.ActiveMQMessage}.RETAIN_PROPERTY.</td><td>org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy</td></tr>
+  <tr><td><a href='#roundRobinDispatchPolicy'>roundRobinDispatchPolicy</a></td><td>Simple dispatch policy that sends a message to every subscription that
+matches the message.</td><td>org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy</td></tr>
+  <tr><td><a href='#runtimeConfigurationPlugin'>runtimeConfigurationPlugin</a></td><td>Broker plugin that will monitor the broker xml configuration for
+changes and selectively apply those changes to the running broker.</td><td>org.apache.activemq.plugin.RuntimeConfigurationPlugin</td></tr>
+  <tr><td><a href='#shared-file-locker'>shared-file-locker</a></td><td>Represents an exclusive lock on a database to avoid multiple brokers running
+against the same logical database.</td><td>org.apache.activemq.store.SharedFileLocker</td></tr>
+  <tr><td><a href='#sharedDeadLetterStrategy'>sharedDeadLetterStrategy</a></td><td>A default implementation of {@link DeadLetterStrategy} which uses
+a constant destination.</td><td>org.apache.activemq.broker.region.policy.SharedDeadLetterStrategy</td></tr>
+  <tr><td><a href='#simpleAuthenticationPlugin'>simpleAuthenticationPlugin</a></td><td>Provides a simple authentication plugin</td><td>org.apache.activemq.security.SimpleAuthenticationPlugin</td></tr>
+  <tr><td><a href='#simpleAuthorizationMap'>simpleAuthorizationMap</a></td><td>An AuthorizationMap which is configured with individual DestinationMaps for
+each operation.</td><td>org.apache.activemq.security.SimpleAuthorizationMap</td></tr>
+  <tr><td><a href='#simpleDispatchPolicy'>simpleDispatchPolicy</a></td><td>Simple dispatch policy that sends a message to every subscription that
+matches the message.</td><td>org.apache.activemq.broker.region.policy.SimpleDispatchPolicy</td></tr>
+  <tr><td><a href='#simpleDispatchSelector'>simpleDispatchSelector</a></td><td>Simple dispatch policy that determines if a message can be sent to a subscription</td><td>org.apache.activemq.broker.region.policy.SimpleDispatchSelector</td></tr>
+  <tr><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td>Converts Message from one JMS to another</td><td>org.apache.activemq.network.jms.SimpleJmsMessageConvertor</td></tr>
+  <tr><td><a href='#simpleMessageGroupMapFactory'>simpleMessageGroupMapFactory</a></td><td>A factory to create instances of {@link SimpleMessageGroupMap} when implementing the 
+<a href="http://activemq.apache.org/message-groups.html">Message Groups</a> functionality.</td><td>org.apache.activemq.broker.region.group.SimpleMessageGroupMapFactory</td></tr>
+  <tr><td><a href='#sqlServerJDBCAdapter'>sqlServerJDBCAdapter</a></td><td></td><td>org.apache.activemq.store.jdbc.adapter.SqlServerJDBCAdapter</td></tr>
+  <tr><td><a href='#sslContext'>sslContext</a></td><td>Extends the SslContext so that it's easier to configure from spring.</td><td>org.apache.activemq.spring.SpringSslContext</td></tr>
+  <tr><td><a href='#statements'>statements</a></td><td></td><td>org.apache.activemq.store.jdbc.Statements</td></tr>
+  <tr><td><a href='#statisticsBrokerPlugin'>statisticsBrokerPlugin</a></td><td>A StatisticsBrokerPlugin
+You can retrieve a Map Message for a Destination - or
+Broker containing statistics as key-value pairs The message must contain a
+replyTo Destination - else its ignored
+To retrieve stats on the broker send a empty message to ActiveMQ.Statistics.Broker (Queue or Topic)
+With a replyTo set to the destination you want the stats returned to.
+To retrieve stats for a destination - e.g. foo - send an empty message to ActiveMQ.Statistics.Destination.foo
+- this works with wildcards to - you get a message for each wildcard match on the replyTo destination.
+The stats message is a MapMessage populated with statistics for the target</td><td>org.apache.activemq.plugin.StatisticsBrokerPlugin</td></tr>
+  <tr><td><a href='#storeCursor'>storeCursor</a></td><td>Pending messages</td><td>org.apache.activemq.broker.region.policy.StorePendingQueueMessageStoragePolicy</td></tr>
+  <tr><td><a href='#storeDurableSubscriberCursor'>storeDurableSubscriberCursor</a></td><td>Pending messages for a durable</td><td>org.apache.activemq.broker.region.policy.StorePendingDurableSubscriberMessageStoragePolicy</td></tr>
+  <tr><td><a href='#storeUsage'>storeUsage</a></td><td>Used to keep track of how much of something is being used so that a
+productive working set usage can be controlled. Main use case is manage
+memory usage.</td><td>org.apache.activemq.usage.StoreUsage</td></tr>
+  <tr><td><a href='#streamJDBCAdapter'>streamJDBCAdapter</a></td><td>This JDBCAdapter inserts and extracts BLOB data using the
+setBinaryStream()/getBinaryStream() operations.
+
+The databases/JDBC drivers that use this adapter are:
+<ul>
+<li>Axion</li>
+</ul></td><td>org.apache.activemq.store.jdbc.adapter.StreamJDBCAdapter</td></tr>
+  <tr><td><a href='#strictOrderDispatchPolicy'>strictOrderDispatchPolicy</a></td><td>Dispatch policy that causes every subscription to see messages in the same
+order.</td><td>org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy</td></tr>
+  <tr><td><a href='#sybase-jdbc-adapter'>sybase-jdbc-adapter</a></td><td>A JDBC Adapter for Sybase databases</td><td>org.apache.activemq.store.jdbc.adapter.SybaseJDBCAdapter</td></tr>
+  <tr><td><a href='#systemUsage'>systemUsage</a></td><td>Holder for Usage instances for memory, store and temp files Main use case is
+manage memory usage.</td><td>org.apache.activemq.usage.SystemUsage</td></tr>
+  <tr><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td>Manages the thread pool for long running tasks. Long running tasks are not
+always active but when they are active, they may need a few iterations of
+processing for them to become idle. The manager ensures that each task is
+processes but that no one task overtakes the system. This is somewhat like
+cooperative multitasking.</td><td>org.apache.activemq.thread.TaskRunnerFactory</td></tr>
+  <tr><td><a href='#tempDestinationAuthorizationEntry'>tempDestinationAuthorizationEntry</a></td><td>Represents an entry in a {@link DefaultAuthorizationMap} for assigning
+different operations (read, write, admin) of user roles to a temporary
+destination</td><td>org.apache.activemq.security.TempDestinationAuthorizationEntry</td></tr>
+  <tr><td><a href='#tempQueue'>tempQueue</a></td><td>An ActiveMQ Temporary Queue Destination</td><td>org.apache.activemq.command.ActiveMQTempQueue</td></tr>
+  <tr><td><a href='#tempTopic'>tempTopic</a></td><td>An ActiveMQ Temporary Topic Destination</td><td>org.apache.activemq.command.ActiveMQTempTopic</td></tr>
+  <tr><td><a href='#tempUsage'>tempUsage</a></td><td>Used to keep track of how much of something is being used so that a
+productive working set usage can be controlled. Main use case is manage
+memory usage.</td><td>org.apache.activemq.usage.TempUsage</td></tr>
+  <tr><td><a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a></td><td>A Broker interceptor which updates a JMS Client's timestamp on the message
+with a broker timestamp. Useful when the clocks on client machines are known
+to not be correct and you can only trust the time set on the broker machines.
+
+Enabling this plugin will break JMS compliance since the timestamp that the
+producer sees on the messages after as send() will be different from the
+timestamp the consumer will observe when he receives the message. This plugin
+is not enabled in the default ActiveMQ configuration.
+
+2 new attributes have been added which will allow the administrator some override control
+over the expiration time for incoming messages:
+
+Attribute 'zeroExpirationOverride' can be used to apply an expiration
+time to incoming messages with no expiration defined (messages that would never expire)
+
+Attribute 'ttlCeiling' can be used to apply a limit to the expiration time</td><td>org.apache.activemq.broker.util.TimeStampingBrokerPlugin</td></tr>
+  <tr><td><a href='#timedSubscriptionRecoveryPolicy'>timedSubscriptionRecoveryPolicy</a></td><td>This implementation of {@link SubscriptionRecoveryPolicy} will keep a timed
+buffer of messages around in memory and use that to recover new
+subscriptions.</td><td>org.apache.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy</td></tr>
+  <tr><td><a href='#topic'>topic</a></td><td>An ActiveMQ Topic</td><td>org.apache.activemq.command.ActiveMQTopic</td></tr>
+  <tr><td><a href='#traceBrokerPathPlugin'>traceBrokerPathPlugin</a></td><td>The TraceBrokerPathPlugin can be used in a network of Brokers. Each Broker
+that has the plugin configured, will add it's brokerName to the content
+of a JMS Property. If all Brokers have this property enabled, the path the
+message actually took through the network can be seen in the defined property.</td><td>org.apache.activemq.broker.util.TraceBrokerPathPlugin</td></tr>
+  <tr><td><a href='#transact-database-locker'>transact-database-locker</a></td><td>Represents an exclusive lock on a database to avoid multiple brokers running
+against the same logical database.</td><td>org.apache.activemq.store.jdbc.adapter.TransactDatabaseLocker</td></tr>
+  <tr><td><a href='#transact-jdbc-adapter'>transact-jdbc-adapter</a></td><td>A JDBC Adapter for Transact-SQL based databases such as SQL Server or Sybase</td><td>org.apache.activemq.store.jdbc.adapter.TransactJDBCAdapter</td></tr>
+  <tr><td><a href='#transportConnector'>transportConnector</a></td><td></td><td>org.apache.activemq.broker.TransportConnector</td></tr>
+  <tr><td><a href='#udpTraceBrokerPlugin'>udpTraceBrokerPlugin</a></td><td>A Broker interceptor which allows you to trace all operations to a UDP
+socket.</td><td>org.apache.activemq.broker.util.UDPTraceBrokerPlugin</td></tr>
+  <tr><td><a href='#uniquePropertyMessageEvictionStrategy'>uniquePropertyMessageEvictionStrategy</a></td><td>An eviction strategy which evicts the oldest message within messages with the same property value</td><td>org.apache.activemq.broker.region.policy.UniquePropertyMessageEvictionStrategy</td></tr>
+  <tr><td><a href='#usageCapacity'>usageCapacity</a></td><td>Identify if a limit has been reached</td><td>org.apache.activemq.usage.UsageCapacity</td></tr>
+  <tr><td><a href='#virtualDestinationInterceptor'>virtualDestinationInterceptor</a></td><td>Implements <a
+href="http://activemq.apache.org/virtual-destinations.html">Virtual
+Topics</a>.</td><td>org.apache.activemq.broker.region.virtual.VirtualDestinationInterceptor</td></tr>
+  <tr><td><a href='#virtualSelectorCacheBrokerPlugin'>virtualSelectorCacheBrokerPlugin</a></td><td>A plugin which allows the caching of the selector from a subscription queue.
+<p/>
+This stops the build-up of unwanted messages, especially when consumers may
+disconnect from time to time when using virtual destinations.
+<p/>
+This is influenced by code snippets developed by Maciej Rakowicz</td><td>org.apache.activemq.plugin.SubQueueSelectorCacheBrokerPlugin</td></tr>
+  <tr><td><a href='#virtualTopic'>virtualTopic</a></td><td>Creates <a href="http://activemq.org/site/virtual-destinations.html">Virtual
+Topics</a> using a prefix and postfix. The virtual destination creates a
+wildcard that is then used to look up all active queue subscriptions which
+match.</td><td>org.apache.activemq.broker.region.virtual.VirtualTopic</td></tr>
+  <tr><td><a href='#vmCursor'>vmCursor</a></td><td>Pending messages held</td><td>org.apache.activemq.broker.region.policy.VMPendingSubscriberMessageStoragePolicy</td></tr>
+  <tr><td><a href='#vmDurableCursor'>vmDurableCursor</a></td><td>Pending</td><td>org.apache.activemq.broker.region.policy.VMPendingDurableSubscriberMessageStoragePolicy</td></tr>
+  <tr><td><a href='#vmQueueCursor'>vmQueueCursor</a></td><td>Pending messages</td><td>org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy</td></tr>
+  <tr><td><a href='#xaConnectionFactory'>xaConnectionFactory</a></td><td>A <a href="http://www.springframework.org/">Spring</a> enhanced XA connection
+factory which will automatically use the Spring bean name as the clientIDPrefix property
+so that connections created have client IDs related to your Spring.xml file for
+easier comprehension from <a href="http://activemq.apache.org/jmx.html">JMX</a>.</td><td>org.apache.activemq.spring.ActiveMQXAConnectionFactory</td></tr>
+</table>
+
+
+<h1>Element Detail</h1>
+<h2>Element: <a name='abortSlowAckConsumerStrategy'>abortSlowAckConsumerStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>abortConnection</td><td>xs:boolean</td><td>abort the consumers connection rather than sending a stop command to the remote consumer</td></tr>
+  <tr><td>checkPeriod</td><td>xs:long</td><td>time in milliseconds between checks for slow subscriptions</td></tr>
+  <tr><td>ignoreIdleConsumers</td><td>xs:boolean</td><td>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).</td></tr>
+  <tr><td>ignoreNetworkConsumers</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>maxSlowCount</td><td>xs:long</td><td>number of times a subscription can be deemed slow before triggering abort
+effect depends on dispatch rate as slow determination is done on dispatch</td></tr>
+  <tr><td>maxSlowDuration</td><td>xs:long</td><td>time in milliseconds that a sub can remain slow before triggering
+an abort.</td></tr>
+  <tr><td>maxTimeSinceLastAck</td><td>xs:long</td><td>Gets the maximum time since last Ack before a subscription is considered to be slow.</td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href=' [...]
+</table>
+<h2>Element: <a name='abortSlowConsumerStrategy'>abortSlowConsumerStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>abortConnection</td><td>xs:boolean</td><td>abort the consumers connection rather than sending a stop command to the remote consumer</td></tr>
+  <tr><td>checkPeriod</td><td>xs:long</td><td>time in milliseconds between checks for slow subscriptions</td></tr>
+  <tr><td>ignoreNetworkConsumers</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>maxSlowCount</td><td>xs:long</td><td>number of times a subscription can be deemed slow before triggering abort
+effect depends on dispatch rate as slow determination is done on dispatch</td></tr>
+  <tr><td>maxSlowDuration</td><td>xs:long</td><td>time in milliseconds that a sub can remain slow before triggering
+an abort.</td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href=' [...]
+</table>
+<h2>Element: <a name='authenticationUser'>authenticationUser</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>groups</td><td>xs:string</td><td></td></tr>
+  <tr><td>password</td><td>xs:string</td><td></td></tr>
+  <tr><td>username</td><td>xs:string</td><td></td></tr>
+</table>
+<h2>Element: <a name='authorizationEntry'>authorizationEntry</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>admin</td><td>xs:string</td><td></td></tr>
+  <tr><td>groupClass</td><td>xs:string</td><td></td></tr>
+  <tr><td>queue</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>read</td><td>xs:string</td><td></td></tr>
+  <tr><td>tempQueue</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>tempTopic</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>topic</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>write</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminACLs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>readACLs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>writeACLs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='authorizationMap'>authorizationMap</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>groupClass</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>authorizationEntries</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the individual entries on the authorization map</td></tr>
+  <tr><td>defaultEntry</td><td><a href='#authorizationEntry'>authorizationEntry</a> | <a href='#tempDestinationAuthorizationEntry'>tempDestinationAuthorizationEntry</a></td><td></td></tr>
+  <tr><td>entries</td><td>(&lt;spring:bean/&gt;)*</td><td>A helper method to allow the destination map to be populated from a
+dependency injection framework such as Spring</td></tr>
+  <tr><td>tempDestinationAuthorizationEntry</td><td><a href='#tempDestinationAuthorizationEntry'>tempDestinationAuthorizationEntry</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='authorizationPlugin'>authorizationPlugin</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>map</td><td><a href='#authorizationMap'>authorizationMap</a> | <a href='#cachedLDAPAuthorizationMap'>cachedLDAPAuthorizationMap</a> | <a href='#lDAPAuthorizationMap'>lDAPAuthorizationMap</a> | <a href='#simpleAuthorizationMap'>simpleAuthorizationMap</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='axionJDBCAdapter'>axionJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='blobJDBCAdapter'>blobJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='broker'>broker</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>adjustUsageLimits</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisorySupport</td><td>xs:string</td><td>Allows the support of advisory messages to be disabled for performance
+reasons.</td></tr>
+  <tr><td>allowTempAutoCreationOnSend</td><td>xs:boolean</td><td>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</td></tr>
+  <tr><td>anonymousProducerAdvisorySupport</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>brokerId</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerObjectName</td><td>xs:string</td><td>Sets the JMX ObjectName for this broker</td></tr>
+  <tr><td>cacheTempDestinations</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>consumerSystemUsagePortion</td><td>xs:integer</td><td></td></tr>
+  <tr><td>dataDirectory</td><td>xs:string</td><td>Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.</td></tr>
+  <tr><td>dataDirectoryFile</td><td>xs:string</td><td>Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.</td></tr>
+  <tr><td>dedicatedTaskRunner</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>deleteAllMessagesOnStartup</td><td>xs:string</td><td>Sets whether or not all messages are deleted on startup - mostly only
+useful for testing.</td></tr>
+  <tr><td>diskUsageCheckRegrowThreshold</td><td>xs:string</td><td></td></tr>
+  <tr><td>enableStatistics</td><td>xs:boolean</td><td>Sets whether or not the Broker's services enable statistics or not.</td></tr>
+  <tr><td>keepDurableSubsActive</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>maxPurgedDestinationsPerSweep</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxSchedulerRepeatAllowed</td><td>xs:integer</td><td></td></tr>
+  <tr><td>mbeanInvocationTimeout</td><td>xs:long</td><td>Gets the time in Milliseconds that an invocation of an MBean method will wait before
+failing.  The default value is to wait forever (zero).</td></tr>
+  <tr><td>monitorConnectionSplits</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>networkConnectorStartAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>offlineDurableSubscriberTaskSchedule</td><td>xs:long</td><td></td></tr>
+  <tr><td>offlineDurableSubscriberTimeout</td><td>xs:long</td><td></td></tr>
+  <tr><td>passiveSlave</td><td>xs:string</td><td>Get the passiveSlave</td></tr>
+  <tr><td>persistenceThreadPriority</td><td>xs:integer</td><td></td></tr>
+  <tr><td>persistent</td><td>xs:string</td><td>Sets whether or not persistence is enabled or disabled.</td></tr>
+  <tr><td>populateJMSXUserID</td><td>xs:boolean</td><td>Sets whether or not the broker should populate the JMSXUserID header.</td></tr>
+  <tr><td>populateUserNameInMBeans</td><td>xs:boolean</td><td>Should MBeans that support showing the Authenticated User Name information have this
+value filled in or not.</td></tr>
+  <tr><td>producerSystemUsagePortion</td><td>xs:integer</td><td></td></tr>
+  <tr><td>rejectDurableConsumers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>restartAllowed</td><td>xs:boolean</td><td>Sets if the broker allowed to restart on shutdown.</td></tr>
+  <tr><td>rollbackOnlyOnAsyncException</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>schedulePeriodForDestinationPurge</td><td>xs:integer</td><td></td></tr>
+  <tr><td>schedulePeriodForDiskUsageCheck</td><td>xs:integer</td><td></td></tr>
+  <tr><td>schedulerDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>schedulerDirectoryFile</td><td>xs:string</td><td></td></tr>
+  <tr><td>schedulerSupport</td><td>xs:string</td><td></td></tr>
+  <tr><td>shutdownOnMasterFailure</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>shutdownOnSlaveFailure</td><td>xs:string</td><td></td></tr>
+  <tr><td>splitSystemUsageForProducersConsumers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>start</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>startAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>storeOpenWireVersion</td><td>xs:integer</td><td></td></tr>
+  <tr><td>systemExitOnShutdown</td><td>xs:string</td><td></td></tr>
+  <tr><td>systemExitOnShutdownExitCode</td><td>xs:integer</td><td></td></tr>
+  <tr><td>taskRunnerPriority</td><td>xs:integer</td><td></td></tr>
+  <tr><td>timeBeforePurgeTempDestinations</td><td>xs:integer</td><td></td></tr>
+  <tr><td>tmpDataDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>useAuthenticatedPrincipalForJMSXUserID</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useJmx</td><td>xs:string</td><td>Sets whether or not the Broker's services should be exposed into JMX or
+not.</td></tr>
+  <tr><td>useLocalHostBrokerName</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useLoggingForShutdownErrors</td><td>xs:boolean</td><td>Sets whether or not we should use commons-logging when reporting errors
+when shutting down the broker</td></tr>
+  <tr><td>useMirroredQueues</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>useShutdownHook</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>useTempMirroredQueues</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualDestSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualDestSubsOnCreation</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualTopics</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>vmConnectorURI</td><td>xs:string</td><td></td></tr>
+  <tr><td>waitForSlave</td><td>xs:string</td><td></td></tr>
+  <tr><td>waitForSlaveTimeout</td><td>xs:long</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminView</td><td>&lt;spring:bean/&gt;</td><td>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.</td></tr>
+  <tr><td>brokerContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerSystemUsage</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>destinationFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>destinationInterceptors</td><td>(<a href='#mirroredQueue'>mirroredQueue</a> | <a href='#virtualDestinationInterceptor'>virtualDestinationInterceptor</a>)*</td><td>Sets the destination interceptors to use</td></tr>
+  <tr><td>destinationPolicy</td><td><a href='#policyMap'>policyMap</a></td><td>Sets the destination specific policies available either for exact
+destinations or for wildcard areas of destinations.</td></tr>
+  <tr><td>destinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td>Sets the destinations which should be loaded/created on startup</td></tr>
+  <tr><td>ioExceptionHandler</td><td><a href='#defaultIOExceptionHandler'>defaultIOExceptionHandler</a> | <a href='#jDBCIOExceptionHandler'>jDBCIOExceptionHandler</a> | <a href='#leaseLockerIOExceptionHandler'>leaseLockerIOExceptionHandler</a></td><td>override the Default IOException handler, called when persistence adapter
+has experiences File or JDBC I/O Exceptions</td></tr>
+  <tr><td>jmsBridgeConnectors</td><td>(<a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a>)*</td><td></td></tr>
+  <tr><td>jobSchedulerStore</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>managementContext</td><td><a href='#managementContext'>managementContext</a></td><td></td></tr>
+  <tr><td>messageAuthorizationPolicy</td><td>&lt;spring:bean/&gt;</td><td>Sets the policy used to decide if the current connection is authorized to
+consume a given message</td></tr>
+  <tr><td>networkConnectorURIs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>networkConnectors</td><td>(<a href='#ldapNetworkConnector'>ldapNetworkConnector</a> | <a href='#multicastNetworkConnector'>multicastNetworkConnector</a> | <a href='#networkConnector'>networkConnector</a>)*</td><td>Sets the network connectors which this broker will use to connect to
+other brokers in a federated network</td></tr>
+  <tr><td>persistenceAdapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td>Sets the persistence adaptor implementation to use for this broker</td></tr>
+  <tr><td>persistenceFactory</td><td><a href='#journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a> | <a href='#journaledJDBC'>journaledJDBC</a></td><td></td></tr>
+  <tr><td>persistenceTaskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+  <tr><td>plugins</td><td>(<a href='#authorizationPlugin'>authorizationPlugin</a> | <a href='#camelRoutesBrokerPlugin'>camelRoutesBrokerPlugin</a> | <a href='#connectionDotFilePlugin'>connectionDotFilePlugin</a> | <a href='#destinationDotFilePlugin'>destinationDotFilePlugin</a> | <a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#discardingDLQBrokerPlugin'>discardingDLQBrokerPlugin</a> | <a href= [...]
+authentication or authorization</td></tr>
+  <tr><td>producerSystemUsage</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>proxyConnectors</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the network connectors which this broker will use to connect to
+other brokers in a federated network</td></tr>
+  <tr><td>regionBroker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='# [...]
+  <tr><td>services</td><td>(<a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a> | <a href='#database-locker'>database-locker</a> | <a href='#forwardingBridge'>forwardingBridge</a> | <a href='#inboundQueueBridge'>inboundQueueBridge</a> | <a href='#inboundTopicBridge'>inboundTopicBridge</a> | <a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a> | <a href=' [...]
+  <tr><td>shutdownHooks</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets hooks to be executed when broker shut down</td></tr>
+  <tr><td>sslContext</td><td><a href='#sslContext'>sslContext</a></td><td></td></tr>
+  <tr><td>startException</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>systemUsage</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>taskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+  <tr><td>tempDataStore</td><td><a href='#levelDB'>levelDB</a> | <a href='#pListStoreImpl'>pListStoreImpl</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>transportConnectorURIs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>transportConnectors</td><td>(<a href='#transportConnector'>transportConnector</a>)*</td><td>Sets the transport connectors which this broker will listen on for new
+clients</td></tr>
+</table>
+<h2>Element: <a name='brokerService'>brokerService</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>adjustUsageLimits</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisorySupport</td><td>xs:string</td><td>Allows the support of advisory messages to be disabled for performance
+reasons.</td></tr>
+  <tr><td>allowTempAutoCreationOnSend</td><td>xs:boolean</td><td>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</td></tr>
+  <tr><td>anonymousProducerAdvisorySupport</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>brokerId</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerObjectName</td><td>xs:string</td><td>Sets the JMX ObjectName for this broker</td></tr>
+  <tr><td>cacheTempDestinations</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>consumerSystemUsagePortion</td><td>xs:integer</td><td></td></tr>
+  <tr><td>dataDirectory</td><td>xs:string</td><td>Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.</td></tr>
+  <tr><td>dataDirectoryFile</td><td>xs:string</td><td>Sets the directory in which the data files will be stored by default for
+the JDBC and Journal persistence adaptors.</td></tr>
+  <tr><td>dedicatedTaskRunner</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>deleteAllMessagesOnStartup</td><td>xs:string</td><td>Sets whether or not all messages are deleted on startup - mostly only
+useful for testing.</td></tr>
+  <tr><td>diskUsageCheckRegrowThreshold</td><td>xs:string</td><td></td></tr>
+  <tr><td>enableStatistics</td><td>xs:boolean</td><td>Sets whether or not the Broker's services enable statistics or not.</td></tr>
+  <tr><td>keepDurableSubsActive</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>maxPurgedDestinationsPerSweep</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxSchedulerRepeatAllowed</td><td>xs:integer</td><td></td></tr>
+  <tr><td>mbeanInvocationTimeout</td><td>xs:long</td><td>Gets the time in Milliseconds that an invocation of an MBean method will wait before
+failing.  The default value is to wait forever (zero).</td></tr>
+  <tr><td>monitorConnectionSplits</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>networkConnectorStartAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>offlineDurableSubscriberTaskSchedule</td><td>xs:long</td><td></td></tr>
+  <tr><td>offlineDurableSubscriberTimeout</td><td>xs:long</td><td></td></tr>
+  <tr><td>passiveSlave</td><td>xs:string</td><td>Get the passiveSlave</td></tr>
+  <tr><td>persistenceThreadPriority</td><td>xs:integer</td><td></td></tr>
+  <tr><td>persistent</td><td>xs:string</td><td>Sets whether or not persistence is enabled or disabled.</td></tr>
+  <tr><td>populateJMSXUserID</td><td>xs:boolean</td><td>Sets whether or not the broker should populate the JMSXUserID header.</td></tr>
+  <tr><td>populateUserNameInMBeans</td><td>xs:boolean</td><td>Should MBeans that support showing the Authenticated User Name information have this
+value filled in or not.</td></tr>
+  <tr><td>producerSystemUsagePortion</td><td>xs:integer</td><td></td></tr>
+  <tr><td>rejectDurableConsumers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>restartAllowed</td><td>xs:boolean</td><td>Sets if the broker allowed to restart on shutdown.</td></tr>
+  <tr><td>rollbackOnlyOnAsyncException</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>schedulePeriodForDestinationPurge</td><td>xs:integer</td><td></td></tr>
+  <tr><td>schedulePeriodForDiskUsageCheck</td><td>xs:integer</td><td></td></tr>
+  <tr><td>schedulerDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>schedulerDirectoryFile</td><td>xs:string</td><td></td></tr>
+  <tr><td>schedulerSupport</td><td>xs:string</td><td></td></tr>
+  <tr><td>shutdownOnMasterFailure</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>shutdownOnSlaveFailure</td><td>xs:string</td><td></td></tr>
+  <tr><td>splitSystemUsageForProducersConsumers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>startAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>storeOpenWireVersion</td><td>xs:integer</td><td></td></tr>
+  <tr><td>systemExitOnShutdown</td><td>xs:string</td><td></td></tr>
+  <tr><td>systemExitOnShutdownExitCode</td><td>xs:integer</td><td></td></tr>
+  <tr><td>taskRunnerPriority</td><td>xs:integer</td><td></td></tr>
+  <tr><td>timeBeforePurgeTempDestinations</td><td>xs:integer</td><td></td></tr>
+  <tr><td>tmpDataDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>useAuthenticatedPrincipalForJMSXUserID</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useJmx</td><td>xs:string</td><td>Sets whether or not the Broker's services should be exposed into JMX or
+not.</td></tr>
+  <tr><td>useLocalHostBrokerName</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useLoggingForShutdownErrors</td><td>xs:boolean</td><td>Sets whether or not we should use commons-logging when reporting errors
+when shutting down the broker</td></tr>
+  <tr><td>useMirroredQueues</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>useShutdownHook</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>useTempMirroredQueues</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualDestSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualDestSubsOnCreation</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualTopics</td><td>xs:boolean</td><td>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.</td></tr>
+  <tr><td>vmConnectorURI</td><td>xs:string</td><td></td></tr>
+  <tr><td>waitForSlave</td><td>xs:string</td><td></td></tr>
+  <tr><td>waitForSlaveTimeout</td><td>xs:long</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminView</td><td>&lt;spring:bean/&gt;</td><td>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.</td></tr>
+  <tr><td>brokerContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerSystemUsage</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>destinationFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>destinationInterceptors</td><td>(<a href='#mirroredQueue'>mirroredQueue</a> | <a href='#virtualDestinationInterceptor'>virtualDestinationInterceptor</a>)*</td><td>Sets the destination interceptors to use</td></tr>
+  <tr><td>destinationPolicy</td><td><a href='#policyMap'>policyMap</a></td><td>Sets the destination specific policies available either for exact
+destinations or for wildcard areas of destinations.</td></tr>
+  <tr><td>destinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td>Sets the destinations which should be loaded/created on startup</td></tr>
+  <tr><td>ioExceptionHandler</td><td><a href='#defaultIOExceptionHandler'>defaultIOExceptionHandler</a> | <a href='#jDBCIOExceptionHandler'>jDBCIOExceptionHandler</a> | <a href='#leaseLockerIOExceptionHandler'>leaseLockerIOExceptionHandler</a></td><td>override the Default IOException handler, called when persistence adapter
+has experiences File or JDBC I/O Exceptions</td></tr>
+  <tr><td>jmsBridgeConnectors</td><td>(<a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a>)*</td><td></td></tr>
+  <tr><td>jobSchedulerStore</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>managementContext</td><td><a href='#managementContext'>managementContext</a></td><td></td></tr>
+  <tr><td>messageAuthorizationPolicy</td><td>&lt;spring:bean/&gt;</td><td>Sets the policy used to decide if the current connection is authorized to
+consume a given message</td></tr>
+  <tr><td>networkConnectorURIs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>networkConnectors</td><td>(<a href='#ldapNetworkConnector'>ldapNetworkConnector</a> | <a href='#multicastNetworkConnector'>multicastNetworkConnector</a> | <a href='#networkConnector'>networkConnector</a>)*</td><td>Sets the network connectors which this broker will use to connect to
+other brokers in a federated network</td></tr>
+  <tr><td>persistenceAdapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td>Sets the persistence adaptor implementation to use for this broker</td></tr>
+  <tr><td>persistenceFactory</td><td><a href='#journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a> | <a href='#journaledJDBC'>journaledJDBC</a></td><td></td></tr>
+  <tr><td>persistenceTaskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+  <tr><td>plugins</td><td>(<a href='#authorizationPlugin'>authorizationPlugin</a> | <a href='#camelRoutesBrokerPlugin'>camelRoutesBrokerPlugin</a> | <a href='#connectionDotFilePlugin'>connectionDotFilePlugin</a> | <a href='#destinationDotFilePlugin'>destinationDotFilePlugin</a> | <a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#discardingDLQBrokerPlugin'>discardingDLQBrokerPlugin</a> | <a href= [...]
+authentication or authorization</td></tr>
+  <tr><td>producerSystemUsage</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>proxyConnectors</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the network connectors which this broker will use to connect to
+other brokers in a federated network</td></tr>
+  <tr><td>regionBroker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='# [...]
+  <tr><td>services</td><td>(<a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a> | <a href='#database-locker'>database-locker</a> | <a href='#forwardingBridge'>forwardingBridge</a> | <a href='#inboundQueueBridge'>inboundQueueBridge</a> | <a href='#inboundTopicBridge'>inboundTopicBridge</a> | <a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a> | <a href=' [...]
+  <tr><td>shutdownHooks</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets hooks to be executed when broker shut down</td></tr>
+  <tr><td>sslContext</td><td><a href='#sslContext'>sslContext</a></td><td></td></tr>
+  <tr><td>startException</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>systemUsage</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>taskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+  <tr><td>tempDataStore</td><td><a href='#levelDB'>levelDB</a> | <a href='#pListStoreImpl'>pListStoreImpl</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>transportConnectorURIs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>transportConnectors</td><td>(<a href='#transportConnector'>transportConnector</a>)*</td><td>Sets the transport connectors which this broker will listen on for new
+clients</td></tr>
+</table>
+<h2>Element: <a name='bytesJDBCAdapter'>bytesJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='cachedLDAPAuthorizationMap'>cachedLDAPAuthorizationMap</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>adminPermissionGroupSearchFilter</td><td>xs:string</td><td></td></tr>
+  <tr><td>authentication</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionProtocol</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionURL</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionUsername</td><td>xs:string</td><td></td></tr>
+  <tr><td>groupClass</td><td>xs:string</td><td></td></tr>
+  <tr><td>groupNameAttribute</td><td>xs:string</td><td></td></tr>
+  <tr><td>groupObjectClass</td><td>xs:string</td><td></td></tr>
+  <tr><td>legacyGroupMapping</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>permissionGroupMemberAttribute</td><td>xs:string</td><td></td></tr>
+  <tr><td>queueSearchBase</td><td>xs:string</td><td></td></tr>
+  <tr><td>readPermissionGroupSearchFilter</td><td>xs:string</td><td></td></tr>
+  <tr><td>refreshDisabled</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>refreshInterval</td><td>xs:integer</td><td></td></tr>
+  <tr><td>tempSearchBase</td><td>xs:string</td><td></td></tr>
+  <tr><td>topicSearchBase</td><td>xs:string</td><td></td></tr>
+  <tr><td>userNameAttribute</td><td>xs:string</td><td></td></tr>
+  <tr><td>userObjectClass</td><td>xs:string</td><td></td></tr>
+  <tr><td>writePermissionGroupSearchFilter</td><td>xs:string</td><td></td></tr>
+</table>
+<h2>Element: <a name='cachedMessageGroupMapFactory'>cachedMessageGroupMapFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>cacheSize</td><td>xs:integer</td><td></td></tr>
+</table>
+<h2>Element: <a name='camelEndpointLoader'>camelEndpointLoader</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>camelContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>component</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>source</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='camelRoutesBrokerPlugin'>camelRoutesBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>checkPeriod</td><td>xs:integer</td><td></td></tr>
+  <tr><td>routesFile</td><td>xs:string</td><td></td></tr>
+</table>
+<h2>Element: <a name='compositeDemandForwardingBridge'>compositeDemandForwardingBridge</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>createdByDuplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>mbeanObjectName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>configuration</td><td><a href='#ldapNetworkConnector'>ldapNetworkConnector</a> | <a href='#multicastNetworkConnector'>multicastNetworkConnector</a> | <a href='#networkConnector'>networkConnector</a></td><td></td></tr>
+  <tr><td>durableDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>dynamicallyIncludedDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>excludedDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>localBroker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>networkBridgeListener</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>remoteBroker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>staticallyIncludedDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='compositeQueue'>compositeQueue</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>concurrentSend</td><td>xs:boolean</td><td>when true, sends are done in parallel with the broker executor</td></tr>
+  <tr><td>copyMessage</td><td>xs:boolean</td><td>Sets whether a copy of the message will be sent to each destination.
+Defaults to true so that the forward destination is set as the
+destination of the message</td></tr>
+  <tr><td>forwardOnly</td><td>xs:boolean</td><td>Sets if the virtual destination is forward only (and so there is no
+physical queue to match the virtual queue) or if there is also a physical
+queue with the same name).</td></tr>
+  <tr><td>name</td><td>xs:string</td><td>Sets the name of this composite destination</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>forwardTo</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the list of destinations to forward to</td></tr>
+</table>
+<h2>Element: <a name='compositeTopic'>compositeTopic</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>concurrentSend</td><td>xs:boolean</td><td>when true, sends are done in parallel with the broker executor</td></tr>
+  <tr><td>copyMessage</td><td>xs:boolean</td><td>Sets whether a copy of the message will be sent to each destination.
+Defaults to true so that the forward destination is set as the
+destination of the message</td></tr>
+  <tr><td>forwardOnly</td><td>xs:boolean</td><td>Sets if the virtual destination is forward only (and so there is no
+physical queue to match the virtual queue) or if there is also a physical
+queue with the same name).</td></tr>
+  <tr><td>name</td><td>xs:string</td><td>Sets the name of this composite destination</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>forwardTo</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the list of destinations to forward to</td></tr>
+</table>
+<h2>Element: <a name='conditionalNetworkBridgeFilterFactory'>conditionalNetworkBridgeFilterFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>rateDuration</td><td>xs:integer</td><td></td></tr>
+  <tr><td>rateLimit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>replayDelay</td><td>xs:integer</td><td></td></tr>
+  <tr><td>replayWhenNoConsumers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>selectorAware</td><td>xs:boolean</td><td></td></tr>
+</table>
+<h2>Element: <a name='connectionDotFilePlugin'>connectionDotFilePlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>file</td><td>xs:string</td><td>Sets the destination file name to create the destination diagram</td></tr>
+</table>
+<h2>Element: <a name='connectionFactory'>connectionFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>alwaysSessionAsync</td><td>xs:boolean</td><td>If this flag is not set then a separate thread is not used for dispatching messages for each Session in
+the Connection. However, a separate thread is always used if there is more than one session, or the session
+isn't in auto acknowledge or duplicates ok mode.  By default this value is set to true and session dispatch
+happens asynchronously.</td></tr>
+  <tr><td>alwaysSyncSend</td><td>xs:boolean</td><td>Set true if always require messages to be sync sent</td></tr>
+  <tr><td>auditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>auditMaximumProducerNumber</td><td>xs:integer</td><td></td></tr>
+  <tr><td>beanName</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerURL</td><td>xs:string</td><td>Sets the <a
+href="http://activemq.apache.org/configuring-transports.html">connection
+URL</a> used to connect to the ActiveMQ broker.</td></tr>
+  <tr><td>checkForDuplicates</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>clientID</td><td>xs:string</td><td>Sets the JMS clientID to use for the created connection. Note that this
+can only be used by one connection at once so generally its a better idea
+to set the clientID on a Connection</td></tr>
+  <tr><td>clientIDPrefix</td><td>xs:string</td><td>Sets the prefix used by autogenerated JMS Client ID values which are used
+if the JMS client does not explicitly specify on.</td></tr>
+  <tr><td>closeTimeout</td><td>xs:integer</td><td>Sets the timeout before a close is considered complete. Normally a
+close() on a connection waits for confirmation from the broker; this
+allows that operation to timeout to save the client hanging if there is
+no broker</td></tr>
+  <tr><td>connectResponseTimeout</td><td>xs:integer</td><td></td></tr>
+  <tr><td>connectionIDPrefix</td><td>xs:string</td><td>Sets the prefix used by connection id generator</td></tr>
+  <tr><td>consumerExpiryCheckEnabled</td><td>xs:boolean</td><td>Controls whether message expiration checking is done in each MessageConsumer
+prior to dispatching a message.  Disabling this check can lead to consumption
+of expired messages.</td></tr>
+  <tr><td>consumerFailoverRedeliveryWaitPeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>copyMessageOnSend</td><td>xs:boolean</td><td>Should a JMS message be copied to a new JMS Message object as part of the
+send() method in JMS. This is enabled by default to be compliant with the
+JMS specification. You can disable it if you do not mutate JMS messages
+after they are sent for a performance boost</td></tr>
+  <tr><td>disableTimeStampsByDefault</td><td>xs:boolean</td><td>Sets whether or not timestamps on messages should be disabled or not. If
+you disable them it adds a small performance boost.</td></tr>
+  <tr><td>dispatchAsync</td><td>xs:boolean</td><td>Enables or disables the default setting of whether or not consumers have
+their messages <a
+href="http://activemq.apache.org/consumer-dispatch-async.html">dispatched
+synchronously or asynchronously by the broker</a>. For non-durable
+topics for example we typically dispatch synchronously by default to
+minimize context switches which boost performance. However sometimes its
+better to go slower to ensure that a single blocked consumer socket does
+not block delivery to other consumers.</td></tr>
+  <tr><td>exclusiveConsumer</td><td>xs:boolean</td><td>Enables or disables whether or not queue consumers should be exclusive or
+not for example to preserve ordering when not using <a
+href="http://activemq.apache.org/message-groups.html">Message Groups</a></td></tr>
+  <tr><td>maxThreadPoolSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>messagePrioritySupported</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>nestedMapAndListEnabled</td><td>xs:boolean</td><td>Enables/disables whether or not Message properties and MapMessage entries
+support <a
+href="http://activemq.apache.org/structured-message-properties-and-mapmessages.html">Nested
+Structures</a> of Map and List objects</td></tr>
+  <tr><td>nonBlockingRedelivery</td><td>xs:boolean</td><td>When true a MessageConsumer will not stop Message delivery before re-delivering Messages
+from a rolled back transaction.  This implies that message order will not be preserved and
+also will result in the TransactedIndividualAck option to be enabled.</td></tr>
+  <tr><td>objectMessageSerializationDefered</td><td>xs:boolean</td><td>When an object is set on an ObjectMessage, the JMS spec requires the
+object to be serialized by that set method. Enabling this flag causes the
+object to not get serialized. The object may subsequently get serialized
+if the message needs to be sent over a socket or stored to disk.</td></tr>
+  <tr><td>optimizeAcknowledge</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>optimizeAcknowledgeTimeOut</td><td>xs:long</td><td>The max time in milliseconds between optimized ack batches</td></tr>
+  <tr><td>optimizedAckScheduledAckInterval</td><td>xs:long</td><td>Gets the configured time interval that is used to force all MessageConsumers that have optimizedAcknowledge enabled
+to send an ack for any outstanding Message Acks.  By default this value is set to zero meaning that the consumers
+will not do any background Message acknowledgment.</td></tr>
+  <tr><td>optimizedMessageDispatch</td><td>xs:boolean</td><td>If this flag is set then an larger prefetch limit is used - only
+applicable for durable topic subscribers.</td></tr>
+  <tr><td>password</td><td>xs:string</td><td>Sets the JMS password used for connections created from this factory</td></tr>
+  <tr><td>producerWindowSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>rmIdFromConnectionId</td><td>xs:boolean</td><td>uses the connection id as the resource identity for XAResource.isSameRM
+ensuring join will only occur on a single connection</td></tr>
+  <tr><td>sendAcksAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>sendTimeout</td><td>xs:integer</td><td></td></tr>
+  <tr><td>statsEnabled</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>transactedIndividualAck</td><td>xs:boolean</td><td>when true, submit individual transacted acks immediately rather than with transaction completion.
+This allows the acks to represent delivery status which can be persisted on rollback
+Used in conjunction with org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter#setRewriteOnRedelivery(boolean)  true</td></tr>
+  <tr><td>trustAllPackages</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useAsyncSend</td><td>xs:boolean</td><td>Forces the use of <a
+href="http://activemq.apache.org/async-sends.html">Async Sends</a> which
+adds a massive performance boost; but means that the send() method will
+return immediately whether the message has been sent or not which could
+lead to message loss.</td></tr>
+  <tr><td>useBeanNameAsClientIdPrefix</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useCompression</td><td>xs:boolean</td><td>Enables the use of compression of the message bodies</td></tr>
+  <tr><td>useDedicatedTaskRunner</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useRetroactiveConsumer</td><td>xs:boolean</td><td>Sets whether or not retroactive consumers are enabled. Retroactive
+consumers allow non-durable topic subscribers to receive old messages
+that were published before the non-durable subscriber started.</td></tr>
+  <tr><td>userName</td><td>xs:string</td><td>Sets the JMS userName used by connections created by this factory</td></tr>
+  <tr><td>warnAboutUnstartedConnectionTimeout</td><td>xs:long</td><td>Enables the timeout from a connection creation to when a warning is
+generated if the connection is not properly started via
+{@link Connection#start()} and a message is received by a consumer. It is
+a very common gotcha to forget to <a
+href="http://activemq.apache.org/i-am-not-receiving-any-messages-what-is-wrong.html">start
+the connection</a> so this option makes the default case to create a
+warning if the user forgets. To disable the warning just set the value to <
+0 (say -1).</td></tr>
+  <tr><td>watchTopicAdvisories</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>blobTransferPolicy</td><td>&lt;spring:bean/&gt;</td><td>Sets the policy used to describe how out-of-band BLOBs (Binary Large
+OBjects) are transferred from producers to brokers to consumers</td></tr>
+  <tr><td>clientIdGenerator</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>clientInternalExceptionListener</td><td>&lt;spring:bean/&gt;</td><td>Allows an {@link ClientInternalExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this clientInternalExceptionListener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)</td></tr>
+  <tr><td>connectionIdGenerator</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>exceptionListener</td><td>&lt;spring:bean/&gt;</td><td>Allows an {@link ExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this exceptionLinstener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)</td></tr>
+  <tr><td>prefetchPolicy</td><td><a href='#prefetchPolicy'>prefetchPolicy</a></td><td>Sets the <a
+href="http://activemq.apache.org/what-is-the-prefetch-limit-for.html">prefetch
+policy</a> for consumers created by this connection.</td></tr>
+  <tr><td>properties</td><td>&lt;spring:bean/&gt;</td><td>Get the properties from this instance for storing in JNDI</td></tr>
+  <tr><td>redeliveryPolicy</td><td><a href='#redeliveryPolicy'>redeliveryPolicy</a></td><td>Sets the global default redelivery policy to be used when a message is delivered
+but the session is rolled back</td></tr>
+  <tr><td>redeliveryPolicyMap</td><td><a href='#redeliveryPolicyMap'>redeliveryPolicyMap</a></td><td>Sets the global redelivery policy mapping to be used when a message is delivered
+but the session is rolled back</td></tr>
+  <tr><td>rejectedTaskHandler</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>sessionTaskRunner</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+  <tr><td>transformer</td><td>&lt;spring:bean/&gt;</td><td>Sets the transformer used to transform messages before they are sent on
+to the JMS bus or when they are received from the bus but before they are
+delivered to the JMS client</td></tr>
+  <tr><td>transportListener</td><td>&lt;spring:bean/&gt;</td><td>Allows a listener to be configured on the ConnectionFactory so that when this factory is used
+with frameworks which don't expose the Connection such as Spring JmsTemplate, you can still register
+a transport listener.</td></tr>
+  <tr><td>trustedPackages</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='constantPendingMessageLimitStrategy'>constantPendingMessageLimitStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>limit</td><td>xs:integer</td><td></td></tr>
+</table>
+<h2>Element: <a name='database-locker'>database-locker</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>createTablesOnStartup</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>failIfLocked</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>lockAcquireSleepInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>queryTimeout</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>dataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>exceptionHandler</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>lockable</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a> | <a href='#journaledJDBC'>journaledJDBC</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='db2JDBCAdapter'>db2JDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='defaultIOExceptionHandler'>defaultIOExceptionHandler</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>ignoreAllErrors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ignoreNoSpaceErrors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ignoreSQLExceptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>noSpaceMessage</td><td>xs:string</td><td></td></tr>
+  <tr><td>resumeCheckSleepPeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>sqlExceptionMessage</td><td>xs:string</td><td></td></tr>
+  <tr><td>stopStartConnectors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>systemExitOnShutdown</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='defaultJDBCAdapter'>defaultJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='defaultNetworkBridgeFilterFactory'>defaultNetworkBridgeFilterFactory</a></h2>
+<h2>Element: <a name='defaultUsageCapacity'>defaultUsageCapacity</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>limit</td><td>xs:long</td><td></td></tr>
+</table>
+<h2>Element: <a name='demandForwardingBridge'>demandForwardingBridge</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>createdByDuplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>mbeanObjectName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>configuration</td><td><a href='#ldapNetworkConnector'>ldapNetworkConnector</a> | <a href='#multicastNetworkConnector'>multicastNetworkConnector</a> | <a href='#networkConnector'>networkConnector</a></td><td></td></tr>
+  <tr><td>durableDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>dynamicallyIncludedDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>excludedDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>localBroker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>networkBridgeListener</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>remoteBroker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>staticallyIncludedDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='destinationDotFilePlugin'>destinationDotFilePlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>file</td><td>xs:string</td><td>Sets the destination file name to create the destination diagram</td></tr>
+</table>
+<h2>Element: <a name='destinationEntry'>destinationEntry</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>queue</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>tempQueue</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>tempTopic</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>topic</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>value</td><td><a href='#authorizationEntry'>authorizationEntry</a> | <a href='#destinationEntry'>destinationEntry</a> | <a href='#filteredKahaDB'>filteredKahaDB</a> | <a href='#policyEntry'>policyEntry</a> | <a href='#redeliveryPolicy'>redeliveryPolicy</a> | <a href='#tempDestinationAuthorizationEntry'>tempDestinationAuthorizationEntry</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>pathSeparator</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+</table>
+<h2>Element: <a name='destinationsPlugin'>destinationsPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>location</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+</table>
+<h2>Element: <a name='discarding'>discarding</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>enableAudit</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>expiration</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxProducersToAudit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>processExpired</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>processNonPersistent</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>deadLetterQueue</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='discardingDLQBrokerPlugin'>discardingDLQBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>dropAll</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>dropOnly</td><td>xs:string</td><td></td></tr>
+  <tr><td>dropTemporaryQueues</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>dropTemporaryTopics</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>reportInterval</td><td>xs:integer</td><td></td></tr>
+</table>
+<h2>Element: <a name='fileCursor'>fileCursor</a></h2>
+<h2>Element: <a name='fileDurableSubscriberCursor'>fileDurableSubscriberCursor</a></h2>
+<h2>Element: <a name='fileQueueCursor'>fileQueueCursor</a></h2>
+<h2>Element: <a name='filteredDestination'>filteredDestination</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>queue</td><td>xs:string</td><td>Sets the destination property to the given queue name</td></tr>
+  <tr><td>selector</td><td>xs:string</td><td>Sets the JMS selector used to filter messages before forwarding them to this destination</td></tr>
+  <tr><td>topic</td><td>xs:string</td><td>Sets the destination property to the given topic name</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td>The destination to send messages to if they match the filter</td></tr>
+  <tr><td>filter</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='filteredKahaDB'>filteredKahaDB</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>perDestination</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>queue</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>tempQueue</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>tempTopic</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>topic</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>persistenceAdapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>template</td><td><a href='#filteredKahaDB'>filteredKahaDB</a></td><td></td></tr>
+  <tr><td>usage</td><td><a href='#storeUsage'>storeUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='fixedCountSubscriptionRecoveryPolicy'>fixedCountSubscriptionRecoveryPolicy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>maximumSize</td><td>xs:integer</td><td>Sets the maximum number of messages that this destination will hold
+around in RAM</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>broker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceB [...]
+</table>
+<h2>Element: <a name='fixedSizedSubscriptionRecoveryPolicy'>fixedSizedSubscriptionRecoveryPolicy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>maximumSize</td><td>xs:integer</td><td>Sets the maximum amount of RAM in bytes that this buffer can hold in RAM</td></tr>
+  <tr><td>useSharedBuffer</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>broker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceB [...]
+  <tr><td>buffer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='forcePersistencyModeBroker'>forcePersistencyModeBroker</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>persistenceFlag</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+</table>
+<h2>Element: <a name='forcePersistencyModeBrokerPlugin'>forcePersistencyModeBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>persistenceFlag</td><td>xs:boolean</td><td>Sets the persistence mode.</td></tr>
+</table>
+<h2>Element: <a name='forwardingBridge'>forwardingBridge</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>clientId</td><td>xs:string</td><td></td></tr>
+  <tr><td>destinationFilter</td><td>xs:string</td><td></td></tr>
+  <tr><td>dispatchAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>prefetchSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>useCompression</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>localBroker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>networkBridgeFailedListener</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>remoteBroker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='hsqldb-jdbc-adapter'>hsqldb-jdbc-adapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='imageBasedJDBCAdaptor'>imageBasedJDBCAdaptor</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='inboundQueueBridge'>inboundQueueBridge</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>doHandleReplyTo</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>inboundQueueName</td><td>xs:string</td><td>Sets the queue name used for the inbound queue, if the outbound queue
+name has not been set, then this method uses the same name to configure
+the outbound queue name.</td></tr>
+  <tr><td>localQueueName</td><td>xs:string</td><td></td></tr>
+  <tr><td>selector</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>consumer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerQueue</td><td><a href='#queue'>queue</a></td><td></td></tr>
+  <tr><td>jmsConnector</td><td><a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a></td><td></td></tr>
+  <tr><td>jmsMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>producerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>producerQueue</td><td><a href='#queue'>queue</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='inboundTopicBridge'>inboundTopicBridge</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>consumerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>doHandleReplyTo</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>inboundTopicName</td><td>xs:string</td><td>Sets the topic name used for the inbound topic, if the outbound topic
+name has not been set, then this method uses the same name to configure
+the outbound topic name.</td></tr>
+  <tr><td>localTopicName</td><td>xs:string</td><td></td></tr>
+  <tr><td>selector</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>consumer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerTopic</td><td><a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>jmsConnector</td><td><a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a></td><td></td></tr>
+  <tr><td>jmsMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>producerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>producerTopic</td><td><a href='#topic'>topic</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='individualDeadLetterStrategy'>individualDeadLetterStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>destinationPerDurableSubscriber</td><td>xs:boolean</td><td>sets whether durable topic subscriptions are to get individual dead letter destinations.
+When true, the DLQ is of the form 'topicPrefix.clientId:subscriptionName'
+The default is false.</td></tr>
+  <tr><td>enableAudit</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>expiration</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxProducersToAudit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>processExpired</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>processNonPersistent</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>queuePrefix</td><td>xs:string</td><td>Sets the prefix to use for all dead letter queues for queue messages</td></tr>
+  <tr><td>queueSuffix</td><td>xs:string</td><td>Sets the suffix to use for all dead letter queues for queue messages</td></tr>
+  <tr><td>topicPrefix</td><td>xs:string</td><td>Sets the prefix to use for all dead letter queues for topic messages</td></tr>
+  <tr><td>topicSuffix</td><td>xs:string</td><td>Sets the suffix to use for all dead letter queues for topic messages</td></tr>
+  <tr><td>useQueueForQueueMessages</td><td>xs:boolean</td><td>Sets whether a queue or topic should be used for queue messages sent to a
+DLQ. The default is to use a Queue</td></tr>
+  <tr><td>useQueueForTopicMessages</td><td>xs:boolean</td><td>Sets whether a queue or topic should be used for topic messages sent to a
+DLQ. The default is to use a Queue</td></tr>
+</table>
+<h2>Element: <a name='informixJDBCAdapter'>informixJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='jDBCIOExceptionHandler'>jDBCIOExceptionHandler</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>ignoreAllErrors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ignoreNoSpaceErrors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ignoreSQLExceptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>noSpaceMessage</td><td>xs:string</td><td></td></tr>
+  <tr><td>resumeCheckSleepPeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>sqlExceptionMessage</td><td>xs:string</td><td></td></tr>
+  <tr><td>stopStartConnectors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>systemExitOnShutdown</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='jaasAuthenticationPlugin'>jaasAuthenticationPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>configuration</td><td>xs:string</td><td>Sets the JAAS configuration domain name used</td></tr>
+  <tr><td>discoverLoginConfig</td><td>xs:boolean</td><td>Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. 
+This flag is enabled by default such that if the <b>java.security.auth.login.config</b> system property
+is not defined then it is set to the location of the <b>login.config</b> file on the classpath.</td></tr>
+</table>
+<h2>Element: <a name='jaasCertificateAuthenticationPlugin'>jaasCertificateAuthenticationPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>configuration</td><td>xs:string</td><td>Sets the JAAS configuration domain name used</td></tr>
+  <tr><td>discoverLoginConfig</td><td>xs:boolean</td><td>Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. 
+This flag is enabled by default such that if the <b>java.security.auth.login.config</b> system property
+is not defined then it is set to the location of the <b>login.config</b> file on the classpath.</td></tr>
+</table>
+<h2>Element: <a name='jaasDualAuthenticationPlugin'>jaasDualAuthenticationPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>configuration</td><td>xs:string</td><td>Sets the JAAS configuration domain name used</td></tr>
+  <tr><td>discoverLoginConfig</td><td>xs:boolean</td><td>Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. 
+This flag is enabled by default such that if the <b>java.security.auth.login.config</b> system property
+is not defined then it is set to the location of the <b>login.config</b> file on the classpath.</td></tr>
+  <tr><td>sslConfiguration</td><td>xs:string</td><td>Set the JAAS SSL configuration domain</td></tr>
+</table>
+<h2>Element: <a name='jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>auditRecoveryDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>changeAutoCommitAllowed</td><td>xs:boolean</td><td>Whether the JDBC driver allows to set the auto commit.
+Some drivers does not allow changing the auto commit. The default value is true.</td></tr>
+  <tr><td>cleanupPeriod</td><td>xs:integer</td><td>Sets the number of milliseconds until the database is attempted to be
+cleaned up for durable topics</td></tr>
+  <tr><td>createTablesOnStartup</td><td>xs:boolean</td><td>Sets whether or not tables are created on startup</td></tr>
+  <tr><td>dataDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>dataDirectoryFile</td><td>xs:string</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>enableAudit</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>lockAcquireSleepInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>lockKeepAlivePeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxProducersToAudit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td></td></tr>
+  <tr><td>networkTimeout</td><td>xs:integer</td><td>Define the JDBC connection network timeout.</td></tr>
+  <tr><td>queryTimeout</td><td>xs:integer</td><td>Define the JDBC statement query timeout.</td></tr>
+  <tr><td>stopOnError</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>transactionIsolation</td><td>xs:integer</td><td>set the Transaction isolation level to something other that TRANSACTION_READ_UNCOMMITTED
+This allowable dirty isolation level may not be achievable in clustered DB environments
+so a more restrictive and expensive option may be needed like TRANSACTION_REPEATABLE_READ
+see isolation level constants in {@link java.sql.Connection}</td></tr>
+  <tr><td>useDatabaseLock</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useLock</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adapter</td><td><a href='#axionJDBCAdapter'>axionJDBCAdapter</a> | <a href='#blobJDBCAdapter'>blobJDBCAdapter</a> | <a href='#bytesJDBCAdapter'>bytesJDBCAdapter</a> | <a href='#db2JDBCAdapter'>db2JDBCAdapter</a> | <a href='#defaultJDBCAdapter'>defaultJDBCAdapter</a> | <a href='#hsqldb-jdbc-adapter'>hsqldb-jdbc-adapter</a> | <a href='#imageBasedJDBCAdaptor'>imageBasedJDBCAdaptor</a> | <a href='#informixJDBCAdapter'>informixJDBCAdapter</a> | <a href='#maxdb-jdbc-adapter'>maxdb-jd [...]
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>dataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>databaseLocker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td>Sets the database locker strategy to use to lock the database on startup</td></tr>
+  <tr><td>ds</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>lockDataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>locker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td></td></tr>
+  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+  <tr><td>usageManager</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>wireFormat</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='jmsQueueConnector'>jmsQueueConnector</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>jndiLocalTemplate</td><td>xs:string</td><td></td></tr>
+  <tr><td>jndiOutboundTemplate</td><td>xs:string</td><td></td></tr>
+  <tr><td>localClientId</td><td>xs:string</td><td></td></tr>
+  <tr><td>localConnectionFactoryName</td><td>xs:string</td><td></td></tr>
+  <tr><td>localPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>localUsername</td><td>xs:string</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundClientId</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundQueueConnectionFactoryName</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundUsername</td><td>xs:string</td><td></td></tr>
+  <tr><td>preferJndiDestinationLookup</td><td>xs:boolean</td><td>Sets whether the connector should prefer to first try to find a destination in JNDI before
+using JMS semantics to create a Destination.  By default the connector will first use JMS
+semantics and then fall-back to JNDI lookup, setting this value to true will reverse that
+ordering.</td></tr>
+  <tr><td>replyToDestinationCacheSize</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td>One way to configure the local connection - this is called by The
+BrokerService when the Connector is embedded</td></tr>
+  <tr><td>inboundMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>inboundQueueBridges</td><td>(<a href='#inboundQueueBridge'>inboundQueueBridge</a>)*</td><td></td></tr>
+  <tr><td>localQueueConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>localQueueConnectionFactory</td><td><a href='#connectionFactory'>connectionFactory</a> | <a href='#xaConnectionFactory'>xaConnectionFactory</a></td><td></td></tr>
+  <tr><td>outboundMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>outboundQueueBridges</td><td>(<a href='#outboundQueueBridge'>outboundQueueBridge</a>)*</td><td></td></tr>
+  <tr><td>outboundQueueConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>outboundQueueConnectionFactory</td><td><a href='#connectionFactory'>connectionFactory</a> | <a href='#xaConnectionFactory'>xaConnectionFactory</a></td><td></td></tr>
+  <tr><td>reconnectionPolicy</td><td><a href='#reconnectionPolicy'>reconnectionPolicy</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='jmsTopicConnector'>jmsTopicConnector</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>jndiLocalTemplate</td><td>xs:string</td><td></td></tr>
+  <tr><td>jndiOutboundTemplate</td><td>xs:string</td><td></td></tr>
+  <tr><td>localClientId</td><td>xs:string</td><td></td></tr>
+  <tr><td>localConnectionFactoryName</td><td>xs:string</td><td></td></tr>
+  <tr><td>localPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>localUsername</td><td>xs:string</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundClientId</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundTopicConnectionFactoryName</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundUsername</td><td>xs:string</td><td></td></tr>
+  <tr><td>preferJndiDestinationLookup</td><td>xs:boolean</td><td>Sets whether the connector should prefer to first try to find a destination in JNDI before
+using JMS semantics to create a Destination.  By default the connector will first use JMS
+semantics and then fall-back to JNDI lookup, setting this value to true will reverse that
+ordering.</td></tr>
+  <tr><td>replyToDestinationCacheSize</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td>One way to configure the local connection - this is called by The
+BrokerService when the Connector is embedded</td></tr>
+  <tr><td>inboundMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>inboundTopicBridges</td><td>(<a href='#inboundTopicBridge'>inboundTopicBridge</a>)*</td><td></td></tr>
+  <tr><td>localTopicConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>localTopicConnectionFactory</td><td><a href='#connectionFactory'>connectionFactory</a> | <a href='#xaConnectionFactory'>xaConnectionFactory</a></td><td></td></tr>
+  <tr><td>outboundMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>outboundTopicBridges</td><td>(<a href='#outboundTopicBridge'>outboundTopicBridge</a>)*</td><td></td></tr>
+  <tr><td>outboundTopicConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>outboundTopicConnectionFactory</td><td><a href='#connectionFactory'>connectionFactory</a> | <a href='#xaConnectionFactory'>xaConnectionFactory</a></td><td></td></tr>
+  <tr><td>reconnectionPolicy</td><td><a href='#reconnectionPolicy'>reconnectionPolicy</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='jobSchedulerUsage'>jobSchedulerUsage</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>limit</td><td>xs:string</td><td>Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager
+is not going to be portion based off the parent. When set using Xbean, values of the form "20 Mb", "1024kb", and
+"1g" can be used</td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>percentUsage</td><td>xs:integer</td><td></td></tr>
+  <tr><td>percentUsageMinDelta</td><td>xs:string</td><td>Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the
+manager.</td></tr>
+  <tr><td>pollingTime</td><td>xs:integer</td><td></td></tr>
+  <tr><td>usagePortion</td><td>xs:float</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>executor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>limiter</td><td><a href='#defaultUsageCapacity'>defaultUsageCapacity</a> | <a href='#usageCapacity'>usageCapacity</a></td><td></td></tr>
+  <tr><td>parent</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>store</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='journalPersistenceAdapter'>journalPersistenceAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>checkpointInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>maxCheckpointMessageAddSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxCheckpointWorkers</td><td>xs:integer</td><td></td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>journal</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>longTermPersistence</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>persistenceAdapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>taskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+  <tr><td>usageManager</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>checkpointInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>createTablesOnStartup</td><td>xs:boolean</td><td>Sets whether or not tables are created on startup</td></tr>
+  <tr><td>dataDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>dataDirectoryFile</td><td>xs:string</td><td></td></tr>
+  <tr><td>journalArchiveDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>journalLogFileSize</td><td>xs:string</td><td>Sets the size of the journal log files
+When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used</td></tr>
+  <tr><td>journalLogFiles</td><td>xs:integer</td><td>Sets the number of journal log files to use</td></tr>
+  <tr><td>journalThreadPriority</td><td>xs:integer</td><td>Sets the thread priority of the journal thread</td></tr>
+  <tr><td>lockKeepAlivePeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>stopOnError</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useDatabaseLock</td><td>xs:boolean</td><td>Sets whether or not an exclusive database lock should be used to enable
+JDBC Master/Slave. Enabled by default.</td></tr>
+  <tr><td>useDedicatedTaskRunner</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useJournal</td><td>xs:boolean</td><td>Enables or disables the use of the journal. The default is to use the
+journal</td></tr>
+  <tr><td>useLock</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useQuickJournal</td><td>xs:boolean</td><td>Enables or disables the use of quick journal, which keeps messages in the
+journal and just stores a reference to the messages in JDBC. Defaults to
+false so that messages actually reside long term in the JDBC database.</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adapter</td><td><a href='#axionJDBCAdapter'>axionJDBCAdapter</a> | <a href='#blobJDBCAdapter'>blobJDBCAdapter</a> | <a href='#bytesJDBCAdapter'>bytesJDBCAdapter</a> | <a href='#db2JDBCAdapter'>db2JDBCAdapter</a> | <a href='#defaultJDBCAdapter'>defaultJDBCAdapter</a> | <a href='#hsqldb-jdbc-adapter'>hsqldb-jdbc-adapter</a> | <a href='#imageBasedJDBCAdaptor'>imageBasedJDBCAdaptor</a> | <a href='#informixJDBCAdapter'>informixJDBCAdapter</a> | <a href='#maxdb-jdbc-adapter'>maxdb-jd [...]
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>dataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>jdbcAdapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a></td><td></td></tr>
+  <tr><td>journal</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>locker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td></td></tr>
+  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+  <tr><td>taskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='journaledJDBC'>journaledJDBC</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>checkpointInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>createTablesOnStartup</td><td>xs:boolean</td><td>Sets whether or not tables are created on startup</td></tr>
+  <tr><td>dataDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>dataDirectoryFile</td><td>xs:string</td><td></td></tr>
+  <tr><td>journalArchiveDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>journalLogFileSize</td><td>xs:string</td><td>Sets the size of the journal log files
+When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used</td></tr>
+  <tr><td>journalLogFiles</td><td>xs:integer</td><td>Sets the number of journal log files to use</td></tr>
+  <tr><td>journalThreadPriority</td><td>xs:integer</td><td>Sets the thread priority of the journal thread</td></tr>
+  <tr><td>lockKeepAlivePeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>stopOnError</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useDatabaseLock</td><td>xs:boolean</td><td>Sets whether or not an exclusive database lock should be used to enable
+JDBC Master/Slave. Enabled by default.</td></tr>
+  <tr><td>useDedicatedTaskRunner</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useJournal</td><td>xs:boolean</td><td>Enables or disables the use of the journal. The default is to use the
+journal</td></tr>
+  <tr><td>useLock</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useQuickJournal</td><td>xs:boolean</td><td>Enables or disables the use of quick journal, which keeps messages in the
+journal and just stores a reference to the messages in JDBC. Defaults to
+false so that messages actually reside long term in the JDBC database.</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adapter</td><td><a href='#axionJDBCAdapter'>axionJDBCAdapter</a> | <a href='#blobJDBCAdapter'>blobJDBCAdapter</a> | <a href='#bytesJDBCAdapter'>bytesJDBCAdapter</a> | <a href='#db2JDBCAdapter'>db2JDBCAdapter</a> | <a href='#defaultJDBCAdapter'>defaultJDBCAdapter</a> | <a href='#hsqldb-jdbc-adapter'>hsqldb-jdbc-adapter</a> | <a href='#imageBasedJDBCAdaptor'>imageBasedJDBCAdaptor</a> | <a href='#informixJDBCAdapter'>informixJDBCAdapter</a> | <a href='#maxdb-jdbc-adapter'>maxdb-jd [...]
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>dataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>jdbcAdapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a></td><td></td></tr>
+  <tr><td>journal</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>locker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td></td></tr>
+  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+  <tr><td>taskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='kahaDB'>kahaDB</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>archiveCorruptedIndex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>archiveDataLogs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>checkForCorruptJournalFiles</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>checkpointInterval</td><td>xs:long</td><td>Get the checkpointInterval</td></tr>
+  <tr><td>checksumJournalFiles</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>cleanupInterval</td><td>xs:long</td><td>Get the cleanupInterval</td></tr>
+  <tr><td>cleanupOnStop</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>compactAcksAfterNoGC</td><td>xs:integer</td><td>Sets the number of GC cycles where no journal logs were removed before an attempt to
+move forward all the acks in the last log that contains them and is otherwise unreferenced.
+<p>
+A value of -1 will disable this feature.</td></tr>
+  <tr><td>compactAcksIgnoresStoreGrowth</td><td>xs:boolean</td><td>Configure if Ack compaction will occur regardless of continued growth of the
+journal logs meaning that the store has not run out of space yet.  Because the
+compaction operation can be costly this value is defaulted to off and the Ack
+compaction is only done when it seems that the store cannot grow and larger.</td></tr>
+  <tr><td>concurrentStoreAndDispatchQueues</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>concurrentStoreAndDispatchTopics</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>databaseLockedWaitDelay</td><td>xs:integer</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td>Get the directory</td></tr>
+  <tr><td>directoryArchive</td><td>xs:string</td><td></td></tr>
+  <tr><td>enableAckCompaction</td><td>xs:boolean</td><td>Returns whether Ack compaction is enabled</td></tr>
+  <tr><td>enableIndexDiskSyncs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>enableIndexPageCaching</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>enableIndexRecoveryFile</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>enableIndexWriteAsync</td><td>xs:boolean</td><td>Get the enableIndexWriteAsync</td></tr>
+  <tr><td>enableJournalDiskSyncs</td><td>xs:boolean</td><td>Get the enableJournalDiskSyncs</td></tr>
+  <tr><td>enableSubscriptionStatistics</td><td>xs:boolean</td><td>Whether non-blocking subscription statistics have been enabled</td></tr>
+  <tr><td>failoverProducersAuditDepth</td><td>xs:integer</td><td>set the audit window depth for duplicate suppression (should exceed the max transaction
+batch)</td></tr>
+  <tr><td>forceRecoverIndex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ignoreMissingJournalfiles</td><td>xs:boolean</td><td>Get the ignoreMissingJournalfiles</td></tr>
+  <tr><td>indexCacheSize</td><td>xs:string</td><td>Get the indexCacheSize</td></tr>
+  <tr><td>indexDirectory</td><td>xs:string</td><td>Sets the directory where KahaDB index files should be written.</td></tr>
+  <tr><td>indexLFUEvictionFactor</td><td>xs:float</td><td></td></tr>
+  <tr><td>indexWriteBatchSize</td><td>xs:string</td><td>Get the indexWriteBatchSize</td></tr>
+  <tr><td>journalDiskSyncInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>journalDiskSyncStrategy</td><td>xs:string</td><td></td></tr>
+  <tr><td>journalMaxFileLength</td><td>xs:string</td><td>Get the journalMaxFileLength</td></tr>
+  <tr><td>journalMaxWriteBatchSize</td><td>xs:string</td><td>Get the journalMaxWriteBatchSize</td></tr>
+  <tr><td>lockKeepAlivePeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxAsyncJobs</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxFailoverProducersToTrack</td><td>xs:integer</td><td>Set the max number of producers (LRU cache) to track for duplicate sends</td></tr>
+  <tr><td>preallocationScope</td><td>xs:string</td><td></td></tr>
+  <tr><td>preallocationStrategy</td><td>xs:string</td><td></td></tr>
+  <tr><td>purgeRecoveredXATransactionStrategy</td><td>xs:string</td><td></td></tr>
+  <tr><td>stopOnError</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useIndexLFRUEviction</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useLock</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>locker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td></td></tr>
+  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>transactionIdTransformer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>usageManager</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='lDAPAuthorizationMap'>lDAPAuthorizationMap</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>adminAttribute</td><td>xs:string</td><td></td></tr>
+  <tr><td>adminBase</td><td>xs:string</td><td></td></tr>
+  <tr><td>advisorySearchBase</td><td>xs:string</td><td></td></tr>
+  <tr><td>authentication</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionProtocol</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionURL</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectionUsername</td><td>xs:string</td><td></td></tr>
+  <tr><td>initialContextFactory</td><td>xs:string</td><td></td></tr>
+  <tr><td>queueSearchSubtreeBool</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>readAttribute</td><td>xs:string</td><td></td></tr>
+  <tr><td>readBase</td><td>xs:string</td><td></td></tr>
+  <tr><td>tempSearchBase</td><td>xs:string</td><td></td></tr>
+  <tr><td>topicSearchSubtreeBool</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useAdvisorySearchBase</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>writeAttribute</td><td>xs:string</td><td></td></tr>
+  <tr><td>writeBase</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>context</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>options</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>queueSearchMatchingFormat</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>topicSearchMatchingFormat</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='lastImageSubscriptionRecoveryPolicy'>lastImageSubscriptionRecoveryPolicy</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>broker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceB [...]
+</table>
+<h2>Element: <a name='ldapNetworkConnector'>ldapNetworkConnector</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>advisoryAckPercentage</td><td>xs:integer</td><td></td></tr>
+  <tr><td>advisoryForFailedForward</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryPrefetchSize</td><td>xs:integer</td><td>Prefetch size for advisory consumers.  Just like prefetchSize, if set, this
+value must be greater than 0 because network consumers do not poll for messages.
+Setting this to 0 or less means this value is disabled and prefetchSize will be
+used instead.</td></tr>
+  <tr><td>alwaysSyncSend</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>anonymousAuthentication</td><td>xs:boolean</td><td>sets LDAP anonymous authentication access credentials</td></tr>
+  <tr><td>base</td><td>xs:string</td><td>sets the base LDAP dn used for lookup operations</td></tr>
+  <tr><td>bridgeTempDestinations</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerURL</td><td>xs:string</td><td></td></tr>
+  <tr><td>checkDuplicateMessagesOnDuplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>clientIdToken</td><td>xs:string</td><td></td></tr>
+  <tr><td>conduitNetworkQueueSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>conduitSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>consumerPriorityBase</td><td>xs:integer</td><td></td></tr>
+  <tr><td>consumerTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>decreaseNetworkConsumerPriority</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>destinationFilter</td><td>xs:string</td><td></td></tr>
+  <tr><td>dispatchAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>duplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>dynamicOnly</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>gcDestinationViews</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>gcSweepTime</td><td>xs:long</td><td></td></tr>
+  <tr><td>localUri</td><td>xs:string</td><td></td></tr>
+  <tr><td>messageTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>networkTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>objectName</td><td>xs:string</td><td></td></tr>
+  <tr><td>password</td><td>xs:string</td><td>sets the LDAP password for access credentials</td></tr>
+  <tr><td>prefetchSize</td><td>xs:string</td><td></td></tr>
+  <tr><td>searchEventListener</td><td>xs:boolean</td><td>enables/disable a persistent search to the LDAP server as defined in
+draft-ietf-ldapext-psearch-03.txt (2.16.840.1.113730.3.4.3)</td></tr>
+  <tr><td>searchFilter</td><td>xs:string</td><td>sets the LDAP search filter as defined in RFC 2254</td></tr>
+  <tr><td>searchScope</td><td>xs:string</td><td>sets the LDAP search scope</td></tr>
+  <tr><td>staticBridge</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>suppressDuplicateQueueSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>suppressDuplicateTopicSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>syncDurableSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>uri</td><td>xs:string</td><td>returns the next URI from the configured list</td></tr>
+  <tr><td>useBrokerNameAsIdSees</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useCompression</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualDestSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>user</td><td>xs:string</td><td>sets the LDAP user for access credentials</td></tr>
+  <tr><td>userName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>bridgeFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>connectionFilter</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>durableDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>dynamicallyIncludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>excludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>sslContext</td><td><a href='#sslContext'>sslContext</a></td><td></td></tr>
+  <tr><td>staticallyIncludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='lease-database-locker'>lease-database-locker</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>createTablesOnStartup</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>failIfLocked</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>handleStartException</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>leaseHolderId</td><td>xs:string</td><td></td></tr>
+  <tr><td>lockAcquireSleepInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxAllowableDiffFromDBTime</td><td>xs:integer</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>queryTimeout</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>dataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>lockable</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a> | <a href='#journaledJDBC'>journaledJDBC</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='leaseLockerIOExceptionHandler'>leaseLockerIOExceptionHandler</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>ignoreAllErrors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ignoreNoSpaceErrors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ignoreSQLExceptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>noSpaceMessage</td><td>xs:string</td><td></td></tr>
+  <tr><td>resumeCheckSleepPeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>sqlExceptionMessage</td><td>xs:string</td><td></td></tr>
+  <tr><td>stopStartConnectors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>systemExitOnShutdown</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='levelDB'>levelDB</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>asyncBufferSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>autoCompactionRatio</td><td>xs:integer</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>failoverProducersAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>flushDelay</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexBlockRestartInterval</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexBlockSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexCacheSize</td><td>xs:long</td><td></td></tr>
+  <tr><td>indexCompression</td><td>xs:string</td><td></td></tr>
+  <tr><td>indexFactory</td><td>xs:string</td><td></td></tr>
+  <tr><td>indexMaxOpenFiles</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexWriteBufferSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>lockKeepAlivePeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>logCompression</td><td>xs:string</td><td></td></tr>
+  <tr><td>logDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>logSize</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxFailoverProducersToTrack</td><td>xs:integer</td><td></td></tr>
+  <tr><td>monitorStats</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>paranoidChecks</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>stopOnError</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>sync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useLock</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>verifyChecksums</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>locker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td></td></tr>
+  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>transactionIdTransformer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>usageManager</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='loggingBrokerPlugin'>loggingBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>logAll</td><td>xs:boolean</td><td>Logger all Events that go through the Plugin</td></tr>
+  <tr><td>logConnectionEvents</td><td>xs:boolean</td><td>Logger Events that are related to connections</td></tr>
+  <tr><td>logConsumerEvents</td><td>xs:boolean</td><td>Logger Events that are related to Consumers</td></tr>
+  <tr><td>logInternalEvents</td><td>xs:boolean</td><td>Logger Events that are normally internal to the broker</td></tr>
+  <tr><td>logProducerEvents</td><td>xs:boolean</td><td>Logger Events that are related to Producers</td></tr>
+  <tr><td>logSessionEvents</td><td>xs:boolean</td><td>Logger Events that are related to sessions</td></tr>
+  <tr><td>logTransactionEvents</td><td>xs:boolean</td><td>Logger Events that are related to transaction processing</td></tr>
+  <tr><td>perDestinationLogger</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+</table>
+<h2>Element: <a name='mKahaDB'>mKahaDB</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>checkForCorruption</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>journalCleanupInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>journalMaxFileLength</td><td>xs:string</td><td>Set the max file length of the transaction journal
+When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can
+be used</td></tr>
+  <tr><td>journalWriteBatchSize</td><td>xs:string</td><td>Set the max write batch size of  the transaction journal
+When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can
+be used</td></tr>
+  <tr><td>lockKeepAlivePeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>stopOnError</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useLock</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>filteredPersistenceAdapters</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the  FilteredKahaDBPersistenceAdapter entries</td></tr>
+  <tr><td>locker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td></td></tr>
+  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>transactionStore</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>usageManager</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='managementContext'>managementContext</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>allowRemoteAddressInMBeanNames</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td>Gets the broker name this context is used by, may be <tt>null</tt>
+if the broker name was not set.</td></tr>
+  <tr><td>connectorHost</td><td>xs:string</td><td>Get the connectorHost</td></tr>
+  <tr><td>connectorPath</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectorPort</td><td>xs:string</td><td></td></tr>
+  <tr><td>createConnector</td><td>xs:string</td><td></td></tr>
+  <tr><td>createMBeanServer</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>findTigerMbeanServer</td><td>xs:boolean</td><td>Enables/disables the searching for the Java 5 platform MBeanServer</td></tr>
+  <tr><td>jmxDomainName</td><td>xs:string</td><td></td></tr>
+  <tr><td>rmiServerPort</td><td>xs:string</td><td></td></tr>
+  <tr><td>suppressMBean</td><td>xs:string</td><td>Allow selective MBeans registration to be suppressed. Any Mbean ObjectName that matches any
+of the supplied attribute values will not be registered with the MBeanServer.
+eg: "endpoint=dynamicProducer,endpoint=Consumer" will suppress the registration of *all* dynamic producer and consumer mbeans.</td></tr>
+  <tr><td>useMBeanServer</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>MBeanServer</td><td>&lt;spring:bean/&gt;</td><td>Get the MBeanServer</td></tr>
+  <tr><td>environment</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>server</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='maxdb-jdbc-adapter'>maxdb-jdbc-adapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='memoryPersistenceAdapter'>memoryPersistenceAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>createTransactionStore</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>usageManager</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='memoryUsage'>memoryUsage</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>limit</td><td>xs:string</td><td>Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager
+is not going to be portion based off the parent. When set using Xbean, values of the form "20 Mb", "1024kb", and
+"1g" can be used</td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>percentOfJvmHeap</td><td>xs:integer</td><td></td></tr>
+  <tr><td>percentUsage</td><td>xs:integer</td><td></td></tr>
+  <tr><td>percentUsageMinDelta</td><td>xs:string</td><td>Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the
+manager.</td></tr>
+  <tr><td>pollingTime</td><td>xs:integer</td><td></td></tr>
+  <tr><td>portion</td><td>xs:float</td><td></td></tr>
+  <tr><td>usage</td><td>xs:long</td><td></td></tr>
+  <tr><td>usagePortion</td><td>xs:float</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>executor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>limiter</td><td><a href='#defaultUsageCapacity'>defaultUsageCapacity</a> | <a href='#usageCapacity'>usageCapacity</a></td><td></td></tr>
+  <tr><td>parent</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='messageGroupHashBucketFactory'>messageGroupHashBucketFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>bucketCount</td><td>xs:integer</td><td>Sets the number of hash buckets to use for the message group
+functionality. This is only applicable to using message groups to
+parallelize processing of a queue while preserving order across an
+individual JMSXGroupID header value. This value sets the number of hash
+buckets that will be used (i.e. the maximum possible concurrency).</td></tr>
+  <tr><td>cacheSize</td><td>xs:integer</td><td></td></tr>
+</table>
+<h2>Element: <a name='mirroredQueue'>mirroredQueue</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>copyMessage</td><td>xs:boolean</td><td>Sets whether a copy of the message will be sent to each destination.
+Defaults to true so that the forward destination is set as the
+destination of the message</td></tr>
+  <tr><td>postfix</td><td>xs:string</td><td>Sets any postix used to identify the queue consumers</td></tr>
+  <tr><td>prefix</td><td>xs:string</td><td>Sets the prefix wildcard used to identify the queue consumers for a given
+topic</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='multicastNetworkConnector'>multicastNetworkConnector</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>advisoryAckPercentage</td><td>xs:integer</td><td></td></tr>
+  <tr><td>advisoryForFailedForward</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryPrefetchSize</td><td>xs:integer</td><td>Prefetch size for advisory consumers.  Just like prefetchSize, if set, this
+value must be greater than 0 because network consumers do not poll for messages.
+Setting this to 0 or less means this value is disabled and prefetchSize will be
+used instead.</td></tr>
+  <tr><td>alwaysSyncSend</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>bridgeTempDestinations</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerURL</td><td>xs:string</td><td></td></tr>
+  <tr><td>checkDuplicateMessagesOnDuplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>clientIdToken</td><td>xs:string</td><td></td></tr>
+  <tr><td>conduitNetworkQueueSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>conduitSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>consumerPriorityBase</td><td>xs:integer</td><td></td></tr>
+  <tr><td>consumerTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>decreaseNetworkConsumerPriority</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>destinationFilter</td><td>xs:string</td><td></td></tr>
+  <tr><td>dispatchAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>duplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>dynamicOnly</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>gcDestinationViews</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>gcSweepTime</td><td>xs:long</td><td></td></tr>
+  <tr><td>localUri</td><td>xs:string</td><td></td></tr>
+  <tr><td>messageTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>networkTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>objectName</td><td>xs:string</td><td></td></tr>
+  <tr><td>password</td><td>xs:string</td><td></td></tr>
+  <tr><td>prefetchSize</td><td>xs:string</td><td></td></tr>
+  <tr><td>remoteURI</td><td>xs:string</td><td>Sets the remote transport URI to some group transport like
+<code>multicast://address:port</code></td></tr>
+  <tr><td>staticBridge</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>suppressDuplicateQueueSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>suppressDuplicateTopicSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>syncDurableSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useBrokerNameAsIdSees</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useCompression</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualDestSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>userName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>bridge</td><td><a href='#compositeDemandForwardingBridge'>compositeDemandForwardingBridge</a> | <a href='#demandForwardingBridge'>demandForwardingBridge</a></td><td></td></tr>
+  <tr><td>bridgeFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>connectionFilter</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>durableDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>dynamicallyIncludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>excludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>localTransport</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>remoteTransport</td><td>&lt;spring:bean/&gt;</td><td>Sets the remote transport implementation</td></tr>
+  <tr><td>sslContext</td><td><a href='#sslContext'>sslContext</a></td><td></td></tr>
+  <tr><td>staticallyIncludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>broadcast</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>destination</td><td>xs:string</td><td></td></tr>
+  <tr><td>maxTraceDatagramSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>timeToLive</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>address</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+  <tr><td>wireFormat</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>wireFormatFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='mysql-jdbc-adapter'>mysql-jdbc-adapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>engineType</td><td>xs:string</td><td></td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>typeStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='networkConnector'>networkConnector</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>advisoryAckPercentage</td><td>xs:integer</td><td></td></tr>
+  <tr><td>advisoryForFailedForward</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryPrefetchSize</td><td>xs:integer</td><td>Prefetch size for advisory consumers.  Just like prefetchSize, if set, this
+value must be greater than 0 because network consumers do not poll for messages.
+Setting this to 0 or less means this value is disabled and prefetchSize will be
+used instead.</td></tr>
+  <tr><td>alwaysSyncSend</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>bridgeTempDestinations</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerURL</td><td>xs:string</td><td></td></tr>
+  <tr><td>checkDuplicateMessagesOnDuplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>clientIdToken</td><td>xs:string</td><td></td></tr>
+  <tr><td>conduitNetworkQueueSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>conduitSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>consumerPriorityBase</td><td>xs:integer</td><td></td></tr>
+  <tr><td>consumerTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>decreaseNetworkConsumerPriority</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>destinationFilter</td><td>xs:string</td><td></td></tr>
+  <tr><td>discoveryURI</td><td>xs:string</td><td></td></tr>
+  <tr><td>dispatchAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>duplex</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>dynamicOnly</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>gcDestinationViews</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>gcSweepTime</td><td>xs:long</td><td></td></tr>
+  <tr><td>localUri</td><td>xs:string</td><td></td></tr>
+  <tr><td>messageTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>networkTTL</td><td>xs:integer</td><td></td></tr>
+  <tr><td>objectName</td><td>xs:string</td><td></td></tr>
+  <tr><td>password</td><td>xs:string</td><td></td></tr>
+  <tr><td>prefetchSize</td><td>xs:string</td><td></td></tr>
+  <tr><td>staticBridge</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>suppressDuplicateQueueSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>suppressDuplicateTopicSubscriptions</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>syncDurableSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>uri</td><td>xs:string</td><td></td></tr>
+  <tr><td>useBrokerNameAsIdSees</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useCompression</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useVirtualDestSubs</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>userName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>bridgeFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>connectionFilter</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>discoveryAgent</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>durableDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>dynamicallyIncludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>excludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>sslContext</td><td><a href='#sslContext'>sslContext</a></td><td></td></tr>
+  <tr><td>staticallyIncludedDestinations</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='noSubscriptionRecoveryPolicy'>noSubscriptionRecoveryPolicy</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>broker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceB [...]
+</table>
+<h2>Element: <a name='oldestMessageEvictionStrategy'>oldestMessageEvictionStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>evictExpiredMessagesHighWatermark</td><td>xs:integer</td><td>Sets the high water mark on which we will eagerly evict expired messages from RAM</td></tr>
+</table>
+<h2>Element: <a name='oldestMessageWithLowestPriorityEvictionStrategy'>oldestMessageWithLowestPriorityEvictionStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>evictExpiredMessagesHighWatermark</td><td>xs:integer</td><td>Sets the high water mark on which we will eagerly evict expired messages from RAM</td></tr>
+</table>
+<h2>Element: <a name='oracleBlobJDBCAdapter'>oracleBlobJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='oracleJDBCAdapter'>oracleJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='outboundQueueBridge'>outboundQueueBridge</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>doHandleReplyTo</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>localQueueName</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundQueueName</td><td>xs:string</td><td>Sets the name of the outbound queue name.  If the inbound queue name
+has not been set already then this method uses the provided queue name
+to set the inbound topic name as well.</td></tr>
+  <tr><td>selector</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>consumer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerQueue</td><td><a href='#queue'>queue</a></td><td></td></tr>
+  <tr><td>jmsConnector</td><td><a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a></td><td></td></tr>
+  <tr><td>jmsMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>producerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>producerQueue</td><td><a href='#queue'>queue</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='outboundTopicBridge'>outboundTopicBridge</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>consumerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>doHandleReplyTo</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>localTopicName</td><td>xs:string</td><td></td></tr>
+  <tr><td>outboundTopicName</td><td>xs:string</td><td>Sets the name of the outbound topic name.  If the inbound topic name
+has not been set already then this method uses the provided topic name
+to set the inbound topic name as well.</td></tr>
+  <tr><td>selector</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>consumer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>consumerTopic</td><td><a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>jmsConnector</td><td><a href='#jmsQueueConnector'>jmsQueueConnector</a> | <a href='#jmsTopicConnector'>jmsTopicConnector</a></td><td></td></tr>
+  <tr><td>jmsMessageConvertor</td><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td></td></tr>
+  <tr><td>producerConnection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>producerTopic</td><td><a href='#topic'>topic</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='pListStoreImpl'>pListStoreImpl</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>cleanupInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>enableIndexWriteAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>failIfDatabaseIsLocked</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>indexCacheSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexDirectory</td><td>xs:string</td><td></td></tr>
+  <tr><td>indexEnablePageCaching</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>indexPageSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexWriteBatchSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>journalMaxFileLength</td><td>xs:integer</td><td></td></tr>
+  <tr><td>journalMaxWriteBatchSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>lazyInit</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='partitionBrokerPlugin'>partitionBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>configAsJson</td><td>xs:string</td><td></td></tr>
+  <tr><td>minTransferCount</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>config</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='policyEntry'>policyEntry</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>advisoryForConsumed</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryForDelivery</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryForDiscardingMessages</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryForFastProducers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryForSlowConsumers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>advisoryWhenFull</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>allConsumersExclusiveByDefault</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>alwaysRetroactive</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>blockedProducerWarningInterval</td><td>xs:long</td><td>Set's the interval at which warnings about producers being blocked by
+resource usage will be triggered. Values of 0 or less will disable
+warnings</td></tr>
+  <tr><td>consumersBeforeDispatchStarts</td><td>xs:integer</td><td></td></tr>
+  <tr><td>cursorMemoryHighWaterMark</td><td>xs:integer</td><td></td></tr>
+  <tr><td>doOptimzeMessageStorage</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>durableTopicPrefetch</td><td>xs:integer</td><td>Get the durableTopicPrefetch</td></tr>
+  <tr><td>enableAudit</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>expireMessagesPeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>gcInactiveDestinations</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>gcWithNetworkConsumers</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>inactiveTimeoutBeforeGC</td><td>xs:long</td><td>Sets the amount of time a destination is inactive before it is marked for GC</td></tr>
+  <tr><td>inactiveTimoutBeforeGC</td><td>xs:long</td><td>Sets the amount of time a destination is inactive before it is marked for GC</td></tr>
+  <tr><td>includeBodyForAdvisory</td><td>xs:boolean</td><td>Returns true if the original message body should be included when applicable
+for advisory messages</td></tr>
+  <tr><td>lazyDispatch</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>maxAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxBrowsePageSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxDestinations</td><td>xs:integer</td><td>Sets the maximum number of destinations that can be created</td></tr>
+  <tr><td>maxExpirePageSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxPageSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxProducersToAudit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxQueueAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>memoryLimit</td><td>xs:string</td><td>When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used</td></tr>
+  <tr><td>messageGroupMapFactoryType</td><td>xs:string</td><td></td></tr>
+  <tr><td>minimumMessageSize</td><td>xs:long</td><td></td></tr>
+  <tr><td>optimizeMessageStoreInFlightLimit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>optimizedDispatch</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>persistJMSRedelivered</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>prioritizedMessages</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>producerFlowControl</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>queue</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>queueBrowserPrefetch</td><td>xs:integer</td><td>Get the queueBrowserPrefetch</td></tr>
+  <tr><td>queuePrefetch</td><td>xs:integer</td><td>Get the queuePrefetch</td></tr>
+  <tr><td>reduceMemoryFootprint</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>sendAdvisoryIfNoConsumers</td><td>xs:boolean</td><td>Sends an advisory message if a non-persistent message is sent and there
+are no active consumers</td></tr>
+  <tr><td>sendFailIfNoSpace</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>sendFailIfNoSpaceAfterTimeout</td><td>xs:long</td><td></td></tr>
+  <tr><td>storeUsageHighWaterMark</td><td>xs:integer</td><td></td></tr>
+  <tr><td>strictOrderDispatch</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>tempQueue</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>tempTopic</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>timeBeforeDispatchStarts</td><td>xs:integer</td><td></td></tr>
+  <tr><td>topic</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>topicPrefetch</td><td>xs:integer</td><td>Get the topicPrefetch</td></tr>
+  <tr><td>useCache</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useConsumerPriority</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>usePrefetchExtension</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useTopicSubscriptionInflightStats</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>deadLetterStrategy</td><td><a href='#discarding'>discarding</a> | <a href='#individualDeadLetterStrategy'>individualDeadLetterStrategy</a> | <a href='#sharedDeadLetterStrategy'>sharedDeadLetterStrategy</a></td><td>Sets the policy used to determine which dead letter queue destination
+should be used</td></tr>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>dispatchPolicy</td><td><a href='#priorityDispatchPolicy'>priorityDispatchPolicy</a> | <a href='#priorityNetworkDispatchPolicy'>priorityNetworkDispatchPolicy</a> | <a href='#roundRobinDispatchPolicy'>roundRobinDispatchPolicy</a> | <a href='#simpleDispatchPolicy'>simpleDispatchPolicy</a> | <a href='#strictOrderDispatchPolicy'>strictOrderDispatchPolicy</a></td><td></td></tr>
+  <tr><td>messageEvictionStrategy</td><td><a href='#oldestMessageEvictionStrategy'>oldestMessageEvictionStrategy</a> | <a href='#oldestMessageWithLowestPriorityEvictionStrategy'>oldestMessageWithLowestPriorityEvictionStrategy</a> | <a href='#uniquePropertyMessageEvictionStrategy'>uniquePropertyMessageEvictionStrategy</a></td><td>Sets the eviction strategy used to decide which message to evict when the
+slow consumer needs to discard messages</td></tr>
+  <tr><td>messageGroupMapFactory</td><td><a href='#cachedMessageGroupMapFactory'>cachedMessageGroupMapFactory</a> | <a href='#messageGroupHashBucketFactory'>messageGroupHashBucketFactory</a> | <a href='#simpleMessageGroupMapFactory'>simpleMessageGroupMapFactory</a></td><td>Sets the factory used to create new instances of {MessageGroupMap} used
+to implement the <a
+href="http://activemq.apache.org/message-groups.html">Message Groups</a>
+functionality.</td></tr>
+  <tr><td>networkBridgeFilterFactory</td><td><a href='#conditionalNetworkBridgeFilterFactory'>conditionalNetworkBridgeFilterFactory</a> | <a href='#defaultNetworkBridgeFilterFactory'>defaultNetworkBridgeFilterFactory</a></td><td></td></tr>
+  <tr><td>pendingDurableSubscriberPolicy</td><td><a href='#fileDurableSubscriberCursor'>fileDurableSubscriberCursor</a> | <a href='#storeDurableSubscriberCursor'>storeDurableSubscriberCursor</a> | <a href='#vmDurableCursor'>vmDurableCursor</a></td><td></td></tr>
+  <tr><td>pendingMessageLimitStrategy</td><td><a href='#constantPendingMessageLimitStrategy'>constantPendingMessageLimitStrategy</a> | <a href='#prefetchRatePendingMessageLimitStrategy'>prefetchRatePendingMessageLimitStrategy</a></td><td>Sets the strategy to calculate the maximum number of messages that are
+allowed to be pending on consumers (in addition to their prefetch sizes).
+Once the limit is reached, non-durable topics can then start discarding
+old messages. This allows us to keep dispatching messages to slow
+consumers while not blocking fast consumers and discarding the messages
+oldest first.</td></tr>
+  <tr><td>pendingQueuePolicy</td><td><a href='#fileQueueCursor'>fileQueueCursor</a> | <a href='#storeCursor'>storeCursor</a> | <a href='#vmQueueCursor'>vmQueueCursor</a></td><td></td></tr>
+  <tr><td>pendingSubscriberPolicy</td><td><a href='#fileCursor'>fileCursor</a> | <a href='#vmCursor'>vmCursor</a></td><td></td></tr>
+  <tr><td>slowConsumerStrategy</td><td><a href='#abortSlowAckConsumerStrategy'>abortSlowAckConsumerStrategy</a> | <a href='#abortSlowConsumerStrategy'>abortSlowConsumerStrategy</a></td><td></td></tr>
+  <tr><td>subscriptionRecoveryPolicy</td><td><a href='#fixedCountSubscriptionRecoveryPolicy'>fixedCountSubscriptionRecoveryPolicy</a> | <a href='#fixedSizedSubscriptionRecoveryPolicy'>fixedSizedSubscriptionRecoveryPolicy</a> | <a href='#lastImageSubscriptionRecoveryPolicy'>lastImageSubscriptionRecoveryPolicy</a> | <a href='#noSubscriptionRecoveryPolicy'>noSubscriptionRecoveryPolicy</a> | <a href='#queryBasedSubscriptionRecoveryPolicy'>queryBasedSubscriptionRecoveryPolicy</a> | <a href='# [...]
+</table>
+<h2>Element: <a name='policyMap'>policyMap</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>defaultEntry</td><td><a href='#policyEntry'>policyEntry</a></td><td></td></tr>
+  <tr><td>entries</td><td>(&lt;spring:bean/&gt;)*</td><td>A helper method to allow the destination map to be populated from a
+dependency injection framework such as Spring</td></tr>
+  <tr><td>policyEntries</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the individual entries on the policy map</td></tr>
+</table>
+<h2>Element: <a name='pooledConnectionFactory'>pooledConnectionFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>maxConnections</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maximumActive</td><td>xs:integer</td><td></td></tr>
+  <tr><td>resourceName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>connectionFactory</td><td><a href='#connectionFactory'>connectionFactory</a> | <a href='#xaConnectionFactory'>xaConnectionFactory</a></td><td></td></tr>
+  <tr><td>transactionManager</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='postgresql-jdbc-adapter'>postgresql-jdbc-adapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>acksPkName</td><td>xs:string</td><td></td></tr>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='prefetchPolicy'>prefetchPolicy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>all</td><td>xs:integer</td><td></td></tr>
+  <tr><td>durableTopicPrefetch</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maximumPendingMessageLimit</td><td>xs:integer</td><td>Sets how many messages a broker will keep around, above the prefetch
+limit, for non-durable topics before starting to discard older messages.</td></tr>
+  <tr><td>optimizeDurableTopicPrefetch</td><td>xs:integer</td><td></td></tr>
+  <tr><td>queueBrowserPrefetch</td><td>xs:integer</td><td></td></tr>
+  <tr><td>queuePrefetch</td><td>xs:integer</td><td></td></tr>
+  <tr><td>topicPrefetch</td><td>xs:integer</td><td></td></tr>
+</table>
+<h2>Element: <a name='prefetchRatePendingMessageLimitStrategy'>prefetchRatePendingMessageLimitStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>multiplier</td><td>xs:double</td><td>Sets the multiplier of the prefetch size which will be used to define the maximum number of pending
+messages for non-durable topics before messages are discarded.</td></tr>
+</table>
+<h2>Element: <a name='priorityDispatchPolicy'>priorityDispatchPolicy</a></h2>
+<h2>Element: <a name='priorityNetworkDispatchPolicy'>priorityNetworkDispatchPolicy</a></h2>
+<h2>Element: <a name='proxyConnector'>proxyConnector</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>bind</td><td>xs:string</td><td></td></tr>
+  <tr><td>localUri</td><td>xs:string</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>proxyToLocalBroker</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>remote</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>server</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='publishedAddressPolicy'>publishedAddressPolicy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>clusterClientUriQuery</td><td>xs:string</td><td>Gets the URI query that's configured on the published URI that's sent to client's
+when the cluster info is updated.</td></tr>
+  <tr><td>publishedHostStrategy</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>hostMapping</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>portMapping</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='queryBasedSubscriptionRecoveryPolicy'>queryBasedSubscriptionRecoveryPolicy</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>broker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceB [...]
+  <tr><td>query</td><td>&lt;spring:bean/&gt;</td><td>Sets the query strategy to load initial messages</td></tr>
+</table>
+<h2>Element: <a name='queue'>queue</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>DLQ</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>physicalName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>compositeDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>properties</td><td>&lt;spring:bean/&gt;</td><td>Get the properties from this instance for storing in JNDI</td></tr>
+</table>
+<h2>Element: <a name='queueDispatchSelector'>queueDispatchSelector</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>exclusiveConsumer</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='reconnectionPolicy'>reconnectionPolicy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>backOffMultiplier</td><td>xs:double</td><td>Gets the multiplier used to grow the delay between connection attempts from the initial
+time to the max set time.  By default this value is set to 2.0.</td></tr>
+  <tr><td>initialReconnectDelay</td><td>xs:long</td><td>Gets the initial delay value used before a reconnection attempt is made.  If the
+use exponential back-off value is set to false then this will be the fixed time
+between connection attempts.  By default this value is set to one second.</td></tr>
+  <tr><td>maxInitialConnectAttempts</td><td>xs:integer</td><td>Gets the maximum number of times that the {@link JmsConnector} will try
+to connect on startup to before it marks itself as failed and does not
+try any further connections.</td></tr>
+  <tr><td>maxReconnectAttempts</td><td>xs:integer</td><td>Gets the number of time that {@link JmsConnector} will attempt to connect
+or reconnect before giving up.  By default the policy sets this value to
+a negative value meaning try forever.</td></tr>
+  <tr><td>maxSendRetries</td><td>xs:integer</td><td>Gets the maximum number of a times a Message send should be retried before
+a JMSExeception is thrown indicating that the operation failed.</td></tr>
+  <tr><td>maximumReconnectDelay</td><td>xs:long</td><td>Gets the maximum delay that is inserted between each attempt to connect
+before another attempt is made.  The default setting for this value is
+30 seconds.</td></tr>
+  <tr><td>sendRetyDelay</td><td>xs:long</td><td>Set the amount of time the DestionationBridge will wait between attempts
+to forward a message.  The default policy limits the minimum time between
+send attempt to one second.</td></tr>
+  <tr><td>useExponentialBackOff</td><td>xs:boolean</td><td>Gets whether the policy uses the set back-off multiplier to grow the time between
+connection attempts.</td></tr>
+</table>
+<h2>Element: <a name='redeliveryPlugin'>redeliveryPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>fallbackToDeadLetter</td><td>xs:boolean</td><td>What to do if there is no matching redelivery policy for a destination.
+when true, the region broker DLQ processing will be used via sendToDeadLetterQueue
+when false, there is no action</td></tr>
+  <tr><td>sendToDlqIfMaxRetriesExceeded</td><td>xs:boolean</td><td>What to do if the maxretries on a matching redelivery policy is exceeded.
+when true, the region broker DLQ processing will be used via sendToDeadLetterQueue
+when false, there is no action</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+  <tr><td>redeliveryPolicyMap</td><td><a href='#redeliveryPolicyMap'>redeliveryPolicyMap</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='redeliveryPolicy'>redeliveryPolicy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>backOffMultiplier</td><td>xs:double</td><td></td></tr>
+  <tr><td>collisionAvoidancePercent</td><td>xs:short</td><td></td></tr>
+  <tr><td>initialRedeliveryDelay</td><td>xs:long</td><td></td></tr>
+  <tr><td>maximumRedeliveries</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maximumRedeliveryDelay</td><td>xs:long</td><td></td></tr>
+  <tr><td>preDispatchCheck</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>queue</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>redeliveryDelay</td><td>xs:long</td><td></td></tr>
+  <tr><td>tempQueue</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>tempTopic</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>topic</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>useCollisionAvoidance</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useExponentialBackOff</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='redeliveryPolicyMap'>redeliveryPolicyMap</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>defaultEntry</td><td><a href='#redeliveryPolicy'>redeliveryPolicy</a></td><td></td></tr>
+  <tr><td>entries</td><td>(&lt;spring:bean/&gt;)*</td><td>A helper method to allow the destination map to be populated from a
+dependency injection framework such as Spring</td></tr>
+  <tr><td>redeliveryPolicyEntries</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the individual entries on the redeliveryPolicyMap</td></tr>
+</table>
+<h2>Element: <a name='replicatedLevelDB'>replicatedLevelDB</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>asyncBufferSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>bind</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerName</td><td>xs:string</td><td></td></tr>
+  <tr><td>connectUrl</td><td>xs:string</td><td></td></tr>
+  <tr><td>container</td><td>xs:string</td><td></td></tr>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>failoverProducersAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>flushDelay</td><td>xs:integer</td><td></td></tr>
+  <tr><td>hostname</td><td>xs:string</td><td></td></tr>
+  <tr><td>indexBlockRestartInterval</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexBlockSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexCacheSize</td><td>xs:long</td><td></td></tr>
+  <tr><td>indexCompression</td><td>xs:string</td><td></td></tr>
+  <tr><td>indexFactory</td><td>xs:string</td><td></td></tr>
+  <tr><td>indexMaxOpenFiles</td><td>xs:integer</td><td></td></tr>
+  <tr><td>indexWriteBufferSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>lockKeepAlivePeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>logCompression</td><td>xs:string</td><td></td></tr>
+  <tr><td>logSize</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxFailoverProducersToTrack</td><td>xs:integer</td><td></td></tr>
+  <tr><td>monitorStats</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>paranoidChecks</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>replicas</td><td>xs:integer</td><td></td></tr>
+  <tr><td>securityToken</td><td>xs:string</td><td></td></tr>
+  <tr><td>stopOnError</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>sync</td><td>xs:string</td><td></td></tr>
+  <tr><td>useLock</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>verifyChecksums</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>weight</td><td>xs:integer</td><td></td></tr>
+  <tr><td>zkAddress</td><td>xs:string</td><td></td></tr>
+  <tr><td>zkPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>zkPath</td><td>xs:string</td><td></td></tr>
+  <tr><td>zkSessionTimeout</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td></td></tr>
+  <tr><td>locker</td><td><a href='#database-locker'>database-locker</a> | <a href='#lease-database-locker'>lease-database-locker</a> | <a href='#shared-file-locker'>shared-file-locker</a> | <a href='#transact-database-locker'>transact-database-locker</a></td><td></td></tr>
+  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>usageManager</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='retainedMessageSubscriptionRecoveryPolicy'>retainedMessageSubscriptionRecoveryPolicy</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>broker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceB [...]
+  <tr><td>wrapped</td><td><a href='#fixedCountSubscriptionRecoveryPolicy'>fixedCountSubscriptionRecoveryPolicy</a> | <a href='#fixedSizedSubscriptionRecoveryPolicy'>fixedSizedSubscriptionRecoveryPolicy</a> | <a href='#lastImageSubscriptionRecoveryPolicy'>lastImageSubscriptionRecoveryPolicy</a> | <a href='#noSubscriptionRecoveryPolicy'>noSubscriptionRecoveryPolicy</a> | <a href='#queryBasedSubscriptionRecoveryPolicy'>queryBasedSubscriptionRecoveryPolicy</a> | <a href='#retainedMessageSubs [...]
+</table>
+<h2>Element: <a name='roundRobinDispatchPolicy'>roundRobinDispatchPolicy</a></h2>
+<h2>Element: <a name='runtimeConfigurationPlugin'>runtimeConfigurationPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>checkPeriod</td><td>xs:long</td><td></td></tr>
+</table>
+<h2>Element: <a name='shared-file-locker'>shared-file-locker</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>directory</td><td>xs:string</td><td></td></tr>
+  <tr><td>failIfLocked</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>lockAcquireSleepInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>lockable</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a> | <a href='#journaledJDBC'>journaledJDBC</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='sharedDeadLetterStrategy'>sharedDeadLetterStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>enableAudit</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>expiration</td><td>xs:long</td><td></td></tr>
+  <tr><td>maxAuditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxProducersToAudit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>processExpired</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>processNonPersistent</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>deadLetterQueue</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='simpleAuthenticationPlugin'>simpleAuthenticationPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>anonymousAccessAllowed</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>anonymousGroup</td><td>xs:string</td><td></td></tr>
+  <tr><td>anonymousUser</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>userGroups</td><td>&lt;spring:bean/&gt;</td><td>Sets the groups a user is in. The key is the user name and the value is a
+Set of groups</td></tr>
+  <tr><td>userPasswords</td><td>&lt;spring:bean/&gt;</td><td>Sets the map indexed by user name with the value the password</td></tr>
+  <tr><td>users</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets individual users for authentication</td></tr>
+</table>
+<h2>Element: <a name='simpleAuthorizationMap'>simpleAuthorizationMap</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminACLs</td><td><a href='#authorizationMap'>authorizationMap</a> | <a href='#policyMap'>policyMap</a> | <a href='#redeliveryPolicyMap'>redeliveryPolicyMap</a></td><td></td></tr>
+  <tr><td>readACLs</td><td><a href='#authorizationMap'>authorizationMap</a> | <a href='#policyMap'>policyMap</a> | <a href='#redeliveryPolicyMap'>redeliveryPolicyMap</a></td><td></td></tr>
+  <tr><td>tempDestinationAuthorizationEntry</td><td><a href='#tempDestinationAuthorizationEntry'>tempDestinationAuthorizationEntry</a></td><td></td></tr>
+  <tr><td>writeACLs</td><td><a href='#authorizationMap'>authorizationMap</a> | <a href='#policyMap'>policyMap</a> | <a href='#redeliveryPolicyMap'>redeliveryPolicyMap</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='simpleDispatchPolicy'>simpleDispatchPolicy</a></h2>
+<h2>Element: <a name='simpleDispatchSelector'>simpleDispatchSelector</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>connection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='simpleMessageGroupMapFactory'>simpleMessageGroupMapFactory</a></h2>
+<h2>Element: <a name='sqlServerJDBCAdapter'>sqlServerJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='sslContext'>sslContext</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>crlPath</td><td>xs:string</td><td></td></tr>
+  <tr><td>keyStore</td><td>xs:string</td><td></td></tr>
+  <tr><td>keyStoreAlgorithm</td><td>xs:string</td><td></td></tr>
+  <tr><td>keyStoreKeyPassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>keyStorePassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>keyStoreType</td><td>xs:string</td><td></td></tr>
+  <tr><td>protocol</td><td>xs:string</td><td></td></tr>
+  <tr><td>provider</td><td>xs:string</td><td></td></tr>
+  <tr><td>secureRandomAlgorithm</td><td>xs:string</td><td></td></tr>
+  <tr><td>trustStore</td><td>xs:string</td><td></td></tr>
+  <tr><td>trustStoreAlgorithm</td><td>xs:string</td><td></td></tr>
+  <tr><td>trustStorePassword</td><td>xs:string</td><td></td></tr>
+  <tr><td>trustStoreType</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>SSLContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>keyManagers</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>secureRandom</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>trustManagers</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='statements'>statements</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>addMessageStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>binaryDataType</td><td>xs:string</td><td></td></tr>
+  <tr><td>clearDurableLastAckInTxStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>clearXidFlagStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>containerNameDataType</td><td>xs:string</td><td></td></tr>
+  <tr><td>createDurableSubStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>currentDateTimeStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>deleteOldMessagesStatementWithPriority</td><td>xs:string</td><td></td></tr>
+  <tr><td>deleteSubscriptionStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>destinationMessageCountStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>dropAckPKAlterStatementEnd</td><td>xs:string</td><td></td></tr>
+  <tr><td>durableSubAcksTableName</td><td>xs:string</td><td></td></tr>
+  <tr><td>durableSubscriberMessageCountStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>durableSubscriberMessageCountStatementWithPriority</td><td>xs:string</td><td></td></tr>
+  <tr><td>findAcksPendingOutcomeStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findAllDestinationsStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findAllDurableSubMessagesStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findAllDurableSubsStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findAllMessageIdsStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findAllMessagesStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findDurableSubMessagesStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findDurableSubStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findLastSequenceIdInAcksStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findLastSequenceIdInMsgsStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findMessageByIdStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findMessageSequenceIdStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findMessageStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findNextMessagesByPriorityStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findNextMessagesStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findOpsPendingOutcomeStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>findXidByIdStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>insertDurablePriorityAckStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>lastAckedDurableSubscriberMessageStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>lastProducerSequenceIdStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>leaseObtainStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>leaseOwnerStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>leaseUpdateStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>lockCreateStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>lockTableName</td><td>xs:string</td><td></td></tr>
+  <tr><td>lockUpdateStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>longDataType</td><td>xs:string</td><td></td></tr>
+  <tr><td>messageTableName</td><td>xs:string</td><td></td></tr>
+  <tr><td>msgIdDataType</td><td>xs:string</td><td></td></tr>
+  <tr><td>nextDurableSubscriberMessageStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>removeAllMessagesStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>removeAllSubscriptionsStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>removeMessageStatment</td><td>xs:string</td><td></td></tr>
+  <tr><td>selectDurablePriorityAckStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>sequenceDataType</td><td>xs:string</td><td></td></tr>
+  <tr><td>stringIdDataType</td><td>xs:string</td><td></td></tr>
+  <tr><td>tablePrefix</td><td>xs:string</td><td></td></tr>
+  <tr><td>updateDurableLastAckInTxStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>updateDurableLastAckStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>updateDurableLastAckWithPriorityInTxStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>updateDurableLastAckWithPriorityStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>updateLastPriorityAckRowOfDurableSubStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>updateMessageStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>updateXidFlagStatement</td><td>xs:string</td><td></td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useLockCreateWhereClause</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>createLockSchemaStatements</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>createSchemaStatements</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>dropSchemaStatements</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='statisticsBrokerPlugin'>statisticsBrokerPlugin</a></h2>
+<h2>Element: <a name='storeCursor'>storeCursor</a></h2>
+<h2>Element: <a name='storeDurableSubscriberCursor'>storeDurableSubscriberCursor</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>immediatePriorityDispatch</td><td>xs:boolean</td><td>Ensure that new higher priority messages will get an immediate dispatch
+rather than wait for the end of the current cursor batch.
+Useful when there is a large message backlog and intermittent high priority messages.</td></tr>
+  <tr><td>useCache</td><td>xs:boolean</td><td></td></tr>
+</table>
+<h2>Element: <a name='storeUsage'>storeUsage</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>limit</td><td>xs:string</td><td>Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager
+is not going to be portion based off the parent. When set using Xbean, values of the form "20 Mb", "1024kb", and
+"1g" can be used</td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>percentLimit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>percentUsage</td><td>xs:integer</td><td></td></tr>
+  <tr><td>percentUsageMinDelta</td><td>xs:string</td><td>Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the
+manager.</td></tr>
+  <tr><td>pollingTime</td><td>xs:integer</td><td></td></tr>
+  <tr><td>total</td><td>xs:string</td><td>Sets the total available space in bytes. When non zero, the filesystem totalAvailableSpace is ignored.
+When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used</td></tr>
+  <tr><td>usagePortion</td><td>xs:float</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>executor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>limiter</td><td><a href='#defaultUsageCapacity'>defaultUsageCapacity</a> | <a href='#usageCapacity'>usageCapacity</a></td><td></td></tr>
+  <tr><td>parent</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>store</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='streamJDBCAdapter'>streamJDBCAdapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='strictOrderDispatchPolicy'>strictOrderDispatchPolicy</a></h2>
+<h2>Element: <a name='sybase-jdbc-adapter'>sybase-jdbc-adapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='systemUsage'>systemUsage</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>checkLimitsLogLevel</td><td>xs:string</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>sendFailIfNoSpace</td><td>xs:boolean</td><td>Sets whether or not a send() should fail if there is no space free. The
+default value is false which means to block the send() method until space
+becomes available</td></tr>
+  <tr><td>sendFailIfNoSpaceAfterTimeout</td><td>xs:long</td><td></td></tr>
+  <tr><td>sendFailIfNoSpaceExplicitySet</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adapter</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapter'>journalPersistenceAdapter</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>executor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>jobSchedulerStore</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>jobSchedulerUsage</td><td><a href='#jobSchedulerUsage'>jobSchedulerUsage</a></td><td></td></tr>
+  <tr><td>memoryUsage</td><td><a href='#memoryUsage'>memoryUsage</a></td><td></td></tr>
+  <tr><td>parent</td><td><a href='#systemUsage'>systemUsage</a></td><td></td></tr>
+  <tr><td>storeUsage</td><td><a href='#storeUsage'>storeUsage</a></td><td></td></tr>
+  <tr><td>tempStore</td><td><a href='#levelDB'>levelDB</a> | <a href='#pListStoreImpl'>pListStoreImpl</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>tempUsage</td><td><a href='#tempUsage'>tempUsage</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='taskRunnerFactory'>taskRunnerFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>daemon</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>dedicatedTaskRunner</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>maxIterationsPerRun</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maxThreadPoolSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>priority</td><td>xs:integer</td><td></td></tr>
+  <tr><td>shutdownAwaitTermination</td><td>xs:long</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>executor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>rejectedTaskHandler</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>threadClassLoader</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='tempDestinationAuthorizationEntry'>tempDestinationAuthorizationEntry</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>admin</td><td>xs:string</td><td></td></tr>
+  <tr><td>groupClass</td><td>xs:string</td><td></td></tr>
+  <tr><td>queue</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>read</td><td>xs:string</td><td></td></tr>
+  <tr><td>tempQueue</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>tempTopic</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>topic</td><td>xs:string</td><td>A helper method to set the destination from a configuration file</td></tr>
+  <tr><td>write</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminACLs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>destination</td><td><a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a></td><td></td></tr>
+  <tr><td>readACLs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+  <tr><td>writeACLs</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='tempQueue'>tempQueue</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>DLQ</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>connectionId</td><td>xs:string</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>physicalName</td><td>xs:string</td><td></td></tr>
+  <tr><td>sequenceId</td><td>xs:long</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>compositeDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>connection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>properties</td><td>&lt;spring:bean/&gt;</td><td>Get the properties from this instance for storing in JNDI</td></tr>
+</table>
+<h2>Element: <a name='tempTopic'>tempTopic</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>DLQ</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>connectionId</td><td>xs:string</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>physicalName</td><td>xs:string</td><td></td></tr>
+  <tr><td>sequenceId</td><td>xs:long</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>compositeDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>connection</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>properties</td><td>&lt;spring:bean/&gt;</td><td>Get the properties from this instance for storing in JNDI</td></tr>
+</table>
+<h2>Element: <a name='tempUsage'>tempUsage</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>limit</td><td>xs:string</td><td>Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager
+is not going to be portion based off the parent. When set using Xbean, values of the form "20 Mb", "1024kb", and
+"1g" can be used</td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>percentLimit</td><td>xs:integer</td><td></td></tr>
+  <tr><td>percentUsage</td><td>xs:integer</td><td></td></tr>
+  <tr><td>percentUsageMinDelta</td><td>xs:string</td><td>Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the
+manager.</td></tr>
+  <tr><td>pollingTime</td><td>xs:integer</td><td></td></tr>
+  <tr><td>total</td><td>xs:string</td><td>Sets the total available space in bytes. When non zero, the filesystem totalAvailableSpace is ignored.
+When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used</td></tr>
+  <tr><td>usagePortion</td><td>xs:float</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>executor</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>limiter</td><td><a href='#defaultUsageCapacity'>defaultUsageCapacity</a> | <a href='#usageCapacity'>usageCapacity</a></td><td></td></tr>
+  <tr><td>parent</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>store</td><td><a href='#levelDB'>levelDB</a> | <a href='#pListStoreImpl'>pListStoreImpl</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>futureOnly</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>processNetworkMessages</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>ttlCeiling</td><td>xs:long</td><td>setter method for ttlCeiling</td></tr>
+  <tr><td>zeroExpirationOverride</td><td>xs:long</td><td>setter method for zeroExpirationOverride</td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+</table>
+<h2>Element: <a name='timedSubscriptionRecoveryPolicy'>timedSubscriptionRecoveryPolicy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>recoverDuration</td><td>xs:long</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>broker</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceB [...]
+</table>
+<h2>Element: <a name='topic'>topic</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>DLQ</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>physicalName</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>compositeDestinations</td><td>(<a href='#queue'>queue</a> | <a href='#tempQueue'>tempQueue</a> | <a href='#tempTopic'>tempTopic</a> | <a href='#topic'>topic</a>)*</td><td></td></tr>
+  <tr><td>properties</td><td>&lt;spring:bean/&gt;</td><td>Get the properties from this instance for storing in JNDI</td></tr>
+</table>
+<h2>Element: <a name='traceBrokerPathPlugin'>traceBrokerPathPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>stampProperty</td><td>xs:string</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+</table>
+<h2>Element: <a name='transact-database-locker'>transact-database-locker</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>createTablesOnStartup</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>failIfLocked</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>lockAcquireSleepInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>queryTimeout</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>dataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>exceptionHandler</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>lockable</td><td><a href='#jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a> | <a href='#journalPersistenceAdapterFactory'>journalPersistenceAdapterFactory</a> | <a href='#journaledJDBC'>journaledJDBC</a> | <a href='#kahaDB'>kahaDB</a> | <a href='#levelDB'>levelDB</a> | <a href='#mKahaDB'>mKahaDB</a> | <a href='#replicatedLevelDB'>replicatedLevelDB</a></td><td></td></tr>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='transact-jdbc-adapter'>transact-jdbc-adapter</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>batchStatements</td><td>xs:boolean</td><td>Set the number of statements to process as a single batch DB update</td></tr>
+  <tr><td>batchStatments</td><td>xs:boolean</td><td>This value batchStatments is deprecated and will be removed in a future release.  Use batchStatements instead (Note the 'e' in Statement)"</td></tr>
+  <tr><td>maxRows</td><td>xs:integer</td><td>the max value for statement maxRows, used to limit jdbc queries</td></tr>
+  <tr><td>useExternalMessageReferences</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>statements</td><td><a href='#statements'>statements</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='transportConnector'>transportConnector</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>auditNetworkProducers</td><td>xs:boolean</td><td>Enable a producer audit on network connections, Traps the case of a missing send reply and resend.
+Note: does not work with conduit=false, networked composite destinations or networked virtual topics</td></tr>
+  <tr><td>disableAsyncDispatch</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>discoveryUri</td><td>xs:string</td><td></td></tr>
+  <tr><td>enableStatusMonitor</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>maximumConsumersAllowedPerConnection</td><td>xs:integer</td><td></td></tr>
+  <tr><td>maximumProducersAllowedPerConnection</td><td>xs:integer</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>rebalanceClusterClients</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>updateClusterClients</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>updateClusterClientsOnRemove</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>updateClusterFilter</td><td>xs:string</td><td></td></tr>
+  <tr><td>uri</td><td>xs:string</td><td>Sets the server transport URI to use if there is not a
+{@link TransportServer} configured via the
+{@link #setServer(TransportServer)} method. This value is used to lazy
+create a {@link TransportServer} instance</td></tr>
+  <tr><td>warnOnRemoteClose</td><td>xs:boolean</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>brokerInfo</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>brokerService</td><td><a href='#broker'>broker</a> | <a href='#brokerService'>brokerService</a></td><td>This is called by the BrokerService right before it starts the transport.</td></tr>
+  <tr><td>discoveryAgent</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>messageAuthorizationPolicy</td><td>&lt;spring:bean/&gt;</td><td>Sets the policy used to decide if the current connection is authorized to
+consume a given message</td></tr>
+  <tr><td>publishedAddressPolicy</td><td><a href='#publishedAddressPolicy'>publishedAddressPolicy</a></td><td>Gets the currently configured policy for creating the published connection address of this
+TransportConnector.</td></tr>
+  <tr><td>server</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>taskRunnerFactory</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+</table>
+<h2>Element: <a name='udpTraceBrokerPlugin'>udpTraceBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>broadcast</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>destination</td><td>xs:string</td><td></td></tr>
+  <tr><td>maxTraceDatagramSize</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>address</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>adminConnectionContext</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>next</td><td><a href='#destinationPathSeparatorPlugin'>destinationPathSeparatorPlugin</a> | <a href='#destinationsPlugin'>destinationsPlugin</a> | <a href='#forcePersistencyModeBroker'>forcePersistencyModeBroker</a> | <a href='#loggingBrokerPlugin'>loggingBrokerPlugin</a> | <a href='#multicastTraceBrokerPlugin'>multicastTraceBrokerPlugin</a> | <a href='#redeliveryPlugin'>redeliveryPlugin</a> | <a href='#timeStampingBrokerPlugin'>timeStampingBrokerPlugin</a> | <a href='#traceBro [...]
+  <tr><td>wireFormat</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>wireFormatFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+</table>
+<h2>Element: <a name='uniquePropertyMessageEvictionStrategy'>uniquePropertyMessageEvictionStrategy</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>evictExpiredMessagesHighWatermark</td><td>xs:integer</td><td>Sets the high water mark on which we will eagerly evict expired messages from RAM</td></tr>
+  <tr><td>propertyName</td><td>xs:string</td><td></td></tr>
+</table>
+<h2>Element: <a name='usageCapacity'>usageCapacity</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>limit</td><td>xs:long</td><td></td></tr>
+</table>
+<h2>Element: <a name='virtualDestinationInterceptor'>virtualDestinationInterceptor</a></h2>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>virtualDestinations</td><td>(<a href='#compositeQueue'>compositeQueue</a> | <a href='#compositeTopic'>compositeTopic</a> | <a href='#virtualTopic'>virtualTopic</a>)*</td><td></td></tr>
+</table>
+<h2>Element: <a name='virtualSelectorCacheBrokerPlugin'>virtualSelectorCacheBrokerPlugin</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>ignoreWildcardSelectors</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>persistFile</td><td>xs:string</td><td>Sets the location of the persistent cache</td></tr>
+  <tr><td>persistInterval</td><td>xs:long</td><td></td></tr>
+  <tr><td>singleSelectorPerDestination</td><td>xs:boolean</td><td></td></tr>
+</table>
+<h2>Element: <a name='virtualTopic'>virtualTopic</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>concurrentSend</td><td>xs:boolean</td><td>When true, dispatch to matching destinations in parallel (in multiple threads)</td></tr>
+  <tr><td>dropOnResourceLimit</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>local</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>name</td><td>xs:string</td><td></td></tr>
+  <tr><td>postfix</td><td>xs:string</td><td>Sets any postix used to identify the queue consumers</td></tr>
+  <tr><td>prefix</td><td>xs:string</td><td>Sets the prefix wildcard used to identify the queue consumers for a given
+topic</td></tr>
+  <tr><td>selectorAware</td><td>xs:boolean</td><td>Indicates whether the selectors of consumers are used to determine
+dispatch to a virtual destination, when true only messages matching an
+existing consumer will be dispatched.</td></tr>
+  <tr><td>setOriginalDestination</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>transactedSend</td><td>xs:boolean</td><td>When true, dispatch to matching destinations always uses a transaction.</td></tr>
+</table>
+<h2>Element: <a name='vmCursor'>vmCursor</a></h2>
+<h2>Element: <a name='vmDurableCursor'>vmDurableCursor</a></h2>
+<h2>Element: <a name='vmQueueCursor'>vmQueueCursor</a></h2>
+<h2>Element: <a name='xaConnectionFactory'>xaConnectionFactory</a></h2>
+<table>
+  <tr><th>Attribute</th><th>Type</th><th>Description</th>
+  <tr><td>alwaysSessionAsync</td><td>xs:boolean</td><td>If this flag is not set then a separate thread is not used for dispatching messages for each Session in
+the Connection. However, a separate thread is always used if there is more than one session, or the session
+isn't in auto acknowledge or duplicates ok mode.  By default this value is set to true and session dispatch
+happens asynchronously.</td></tr>
+  <tr><td>alwaysSyncSend</td><td>xs:boolean</td><td>Set true if always require messages to be sync sent</td></tr>
+  <tr><td>auditDepth</td><td>xs:integer</td><td></td></tr>
+  <tr><td>auditMaximumProducerNumber</td><td>xs:integer</td><td></td></tr>
+  <tr><td>beanName</td><td>xs:string</td><td></td></tr>
+  <tr><td>brokerURL</td><td>xs:string</td><td>Sets the <a
+href="http://activemq.apache.org/configuring-transports.html">connection
+URL</a> used to connect to the ActiveMQ broker.</td></tr>
+  <tr><td>checkForDuplicates</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>clientID</td><td>xs:string</td><td>Sets the JMS clientID to use for the created connection. Note that this
+can only be used by one connection at once so generally its a better idea
+to set the clientID on a Connection</td></tr>
+  <tr><td>clientIDPrefix</td><td>xs:string</td><td>Sets the prefix used by autogenerated JMS Client ID values which are used
+if the JMS client does not explicitly specify on.</td></tr>
+  <tr><td>closeTimeout</td><td>xs:integer</td><td>Sets the timeout before a close is considered complete. Normally a
+close() on a connection waits for confirmation from the broker; this
+allows that operation to timeout to save the client hanging if there is
+no broker</td></tr>
+  <tr><td>connectResponseTimeout</td><td>xs:integer</td><td></td></tr>
+  <tr><td>connectionIDPrefix</td><td>xs:string</td><td>Sets the prefix used by connection id generator</td></tr>
+  <tr><td>consumerExpiryCheckEnabled</td><td>xs:boolean</td><td>Controls whether message expiration checking is done in each MessageConsumer
+prior to dispatching a message.  Disabling this check can lead to consumption
+of expired messages.</td></tr>
+  <tr><td>consumerFailoverRedeliveryWaitPeriod</td><td>xs:long</td><td></td></tr>
+  <tr><td>copyMessageOnSend</td><td>xs:boolean</td><td>Should a JMS message be copied to a new JMS Message object as part of the
+send() method in JMS. This is enabled by default to be compliant with the
+JMS specification. You can disable it if you do not mutate JMS messages
+after they are sent for a performance boost</td></tr>
+  <tr><td>disableTimeStampsByDefault</td><td>xs:boolean</td><td>Sets whether or not timestamps on messages should be disabled or not. If
+you disable them it adds a small performance boost.</td></tr>
+  <tr><td>dispatchAsync</td><td>xs:boolean</td><td>Enables or disables the default setting of whether or not consumers have
+their messages <a
+href="http://activemq.apache.org/consumer-dispatch-async.html">dispatched
+synchronously or asynchronously by the broker</a>. For non-durable
+topics for example we typically dispatch synchronously by default to
+minimize context switches which boost performance. However sometimes its
+better to go slower to ensure that a single blocked consumer socket does
+not block delivery to other consumers.</td></tr>
+  <tr><td>exclusiveConsumer</td><td>xs:boolean</td><td>Enables or disables whether or not queue consumers should be exclusive or
+not for example to preserve ordering when not using <a
+href="http://activemq.apache.org/message-groups.html">Message Groups</a></td></tr>
+  <tr><td>maxThreadPoolSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>messagePrioritySupported</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>nestedMapAndListEnabled</td><td>xs:boolean</td><td>Enables/disables whether or not Message properties and MapMessage entries
+support <a
+href="http://activemq.apache.org/structured-message-properties-and-mapmessages.html">Nested
+Structures</a> of Map and List objects</td></tr>
+  <tr><td>nonBlockingRedelivery</td><td>xs:boolean</td><td>When true a MessageConsumer will not stop Message delivery before re-delivering Messages
+from a rolled back transaction.  This implies that message order will not be preserved and
+also will result in the TransactedIndividualAck option to be enabled.</td></tr>
+  <tr><td>objectMessageSerializationDefered</td><td>xs:boolean</td><td>When an object is set on an ObjectMessage, the JMS spec requires the
+object to be serialized by that set method. Enabling this flag causes the
+object to not get serialized. The object may subsequently get serialized
+if the message needs to be sent over a socket or stored to disk.</td></tr>
+  <tr><td>optimizeAcknowledge</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>optimizeAcknowledgeTimeOut</td><td>xs:long</td><td>The max time in milliseconds between optimized ack batches</td></tr>
+  <tr><td>optimizedAckScheduledAckInterval</td><td>xs:long</td><td>Gets the configured time interval that is used to force all MessageConsumers that have optimizedAcknowledge enabled
+to send an ack for any outstanding Message Acks.  By default this value is set to zero meaning that the consumers
+will not do any background Message acknowledgment.</td></tr>
+  <tr><td>optimizedMessageDispatch</td><td>xs:boolean</td><td>If this flag is set then an larger prefetch limit is used - only
+applicable for durable topic subscribers.</td></tr>
+  <tr><td>password</td><td>xs:string</td><td>Sets the JMS password used for connections created from this factory</td></tr>
+  <tr><td>producerWindowSize</td><td>xs:integer</td><td></td></tr>
+  <tr><td>rmIdFromConnectionId</td><td>xs:boolean</td><td>uses the connection id as the resource identity for XAResource.isSameRM
+ensuring join will only occur on a single connection</td></tr>
+  <tr><td>sendAcksAsync</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>sendTimeout</td><td>xs:integer</td><td></td></tr>
+  <tr><td>statsEnabled</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>transactedIndividualAck</td><td>xs:boolean</td><td>when true, submit individual transacted acks immediately rather than with transaction completion.
+This allows the acks to represent delivery status which can be persisted on rollback
+Used in conjunction with org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter#setRewriteOnRedelivery(boolean)  true</td></tr>
+  <tr><td>trustAllPackages</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useAsyncSend</td><td>xs:boolean</td><td>Forces the use of <a
+href="http://activemq.apache.org/async-sends.html">Async Sends</a> which
+adds a massive performance boost; but means that the send() method will
+return immediately whether the message has been sent or not which could
+lead to message loss.</td></tr>
+  <tr><td>useBeanNameAsClientIdPrefix</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useCompression</td><td>xs:boolean</td><td>Enables the use of compression of the message bodies</td></tr>
+  <tr><td>useDedicatedTaskRunner</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>useRetroactiveConsumer</td><td>xs:boolean</td><td>Sets whether or not retroactive consumers are enabled. Retroactive
+consumers allow non-durable topic subscribers to receive old messages
+that were published before the non-durable subscriber started.</td></tr>
+  <tr><td>userName</td><td>xs:string</td><td>Sets the JMS userName used by connections created by this factory</td></tr>
+  <tr><td>warnAboutUnstartedConnectionTimeout</td><td>xs:long</td><td>Enables the timeout from a connection creation to when a warning is
+generated if the connection is not properly started via
+{@link Connection#start()} and a message is received by a consumer. It is
+a very common gotcha to forget to <a
+href="http://activemq.apache.org/i-am-not-receiving-any-messages-what-is-wrong.html">start
+the connection</a> so this option makes the default case to create a
+warning if the user forgets. To disable the warning just set the value to <
+0 (say -1).</td></tr>
+  <tr><td>watchTopicAdvisories</td><td>xs:boolean</td><td></td></tr>
+  <tr><td>xaAckMode</td><td>xs:integer</td><td></td></tr>
+</table>
+<table>
+  <tr><th>Element</th><th>Type</th><th>Description</th>
+  <tr><td>blobTransferPolicy</td><td>&lt;spring:bean/&gt;</td><td>Sets the policy used to describe how out-of-band BLOBs (Binary Large
+OBjects) are transferred from producers to brokers to consumers</td></tr>
+  <tr><td>clientIdGenerator</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>clientInternalExceptionListener</td><td>&lt;spring:bean/&gt;</td><td>Allows an {@link ClientInternalExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this clientInternalExceptionListener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)</td></tr>
+  <tr><td>connectionIdGenerator</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>exceptionListener</td><td>&lt;spring:bean/&gt;</td><td>Allows an {@link ExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this exceptionLinstener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)</td></tr>
+  <tr><td>prefetchPolicy</td><td><a href='#prefetchPolicy'>prefetchPolicy</a></td><td>Sets the <a
+href="http://activemq.apache.org/what-is-the-prefetch-limit-for.html">prefetch
+policy</a> for consumers created by this connection.</td></tr>
+  <tr><td>properties</td><td>&lt;spring:bean/&gt;</td><td>Get the properties from this instance for storing in JNDI</td></tr>
+  <tr><td>redeliveryPolicy</td><td><a href='#redeliveryPolicy'>redeliveryPolicy</a></td><td>Sets the global default redelivery policy to be used when a message is delivered
+but the session is rolled back</td></tr>
+  <tr><td>redeliveryPolicyMap</td><td><a href='#redeliveryPolicyMap'>redeliveryPolicyMap</a></td><td>Sets the global redelivery policy mapping to be used when a message is delivered
+but the session is rolled back</td></tr>
+  <tr><td>rejectedTaskHandler</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
+  <tr><td>sessionTaskRunner</td><td><a href='#taskRunnerFactory'>taskRunnerFactory</a></td><td></td></tr>
+  <tr><td>transformer</td><td>&lt;spring:bean/&gt;</td><td>Sets the transformer used to transform messages before they are sent on
+to the JMS bus or when they are received from the bus but before they are
+delivered to the JMS client</td></tr>
+  <tr><td>transportListener</td><td>&lt;spring:bean/&gt;</td><td>Allows a listener to be configured on the ConnectionFactory so that when this factory is used
+with frameworks which don't expose the Connection such as Spring JmsTemplate, you can still register
+a transport listener.</td></tr>
+  <tr><td>trustedPackages</td><td>(&lt;spring:bean/&gt;)*</td><td></td></tr>
+</table>
+
+</body>
+</html>
diff --git a/content/schema/core/activemq-core-5.16.0-schema.html.asc b/content/schema/core/activemq-core-5.16.0-schema.html.asc
new file mode 100644
index 0000000..e0c8e60
--- /dev/null
+++ b/content/schema/core/activemq-core-5.16.0-schema.html.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEEGqjPktQJpzOT0Lc2v/LuQsgoLnYFAl8P3n8ACgkQv/LuQsgo
+LnbKEA//SNHfHvD4IVHddoZNWfL0hDMIo4G8B0MwtVeXeE2ECJCq0ppk313kMOV/
+jf5vapTvpqnx8BQxbIRAGxxKrCHNIYy+1NWD2lUsQ3FoKTRXg8UECbK4lbcIFY/T
+3jVK6fdIUdb9qAxbb/xfktUm41P0zSuLvtVJ6G0Luw9JNpYwQ1C3iYAgjJVMM9AU
+qUdkjvyFy6tAi6RYsasjv4qs+qjmRzei7K+1DLqWJQjLQ4d19QU5W9nlWOPzX9Gz
+zrAh4yw+rEt8ynTbbfP9Idpjo8xaPqDf17/v/hDHDKEky0Hb0hovTumi21cUedRn
+raGo8vlUPXbf/Ky8VgY/dvblX4huisZZWah0GOFLXDwgcPhLi0X6hbSkV3Ez4MjT
+ZkpFYL8FCqEZDmQdCJltNLjseT1abErOccPdc16dz8+bbOp/nPphL7WKizgMQfDl
+O4YgBjJwYoSaKfrsTvO0d0imOQxjrFQ3iJo3TgHDF3bKdRGQVQzSf88fnC0Tcb08
+k5xSF4HSZwvrtd78XuG0SxTw9psWrfOxm1X6fAEBbsUFVRMS/jxkI55yNo3YGByO
+3Z+KrLiGgrBATSzIgKzOwSKFD5mXJOv+6gcr/u7mMzq31XYwiz1iWulIu6QXQe3Z
+CbAwyaMtbXv/DVlE0ZZniAwGf7X6EOw3MYc+IoDmhPaf28mNKZg=
+=XCfU
+-----END PGP SIGNATURE-----
diff --git a/content/schema/core/activemq-core-5.16.0-schema.html.asc.md5 b/content/schema/core/activemq-core-5.16.0-schema.html.asc.md5
new file mode 100644
index 0000000..9b31b98
--- /dev/null
+++ b/content/schema/core/activemq-core-5.16.0-schema.html.asc.md5
@@ -0,0 +1 @@
+MD5 (activemq-core-5.16.0-schema.html.asc) = fc9f96ac8456648730e3bd3c24a269f7
diff --git a/content/schema/core/activemq-core-5.16.0-schema.html.asc.sha1 b/content/schema/core/activemq-core-5.16.0-schema.html.asc.sha1
new file mode 100644
index 0000000..585ff0d
--- /dev/null
+++ b/content/schema/core/activemq-core-5.16.0-schema.html.asc.sha1
@@ -0,0 +1 @@
+851e72d033567bba3c1b41494ecb54bf6cfee37e  activemq-core-5.16.0-schema.html.asc
diff --git a/content/schema/core/activemq-core-5.16.0-schema.html.md5 b/content/schema/core/activemq-core-5.16.0-schema.html.md5
new file mode 100644
index 0000000..9079830
--- /dev/null
+++ b/content/schema/core/activemq-core-5.16.0-schema.html.md5
@@ -0,0 +1 @@
+MD5 (activemq-core-5.16.0-schema.html) = ef2ad27c9f55cedd2e8c0fdc0aa1ba74
diff --git a/content/schema/core/activemq-core-5.16.0-schema.html.sha1 b/content/schema/core/activemq-core-5.16.0-schema.html.sha1
new file mode 100644
index 0000000..5d3a686
--- /dev/null
+++ b/content/schema/core/activemq-core-5.16.0-schema.html.sha1
@@ -0,0 +1 @@
+a422efc1713e17d20cbbda2ca573cd379c52645b  activemq-core-5.16.0-schema.html
diff --git a/content/schema/core/activemq-core-5.16.0.xsd b/content/schema/core/activemq-core-5.16.0.xsd
new file mode 100644
index 0000000..bb7d8b2
--- /dev/null
+++ b/content/schema/core/activemq-core-5.16.0.xsd
@@ -0,0 +1,10590 @@
+<?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='anonymousProducerAdvisorySupport' type='xs:boolean'/>
+      <xs:attribute name='brokerContext' type='xs:string'/>
+      <xs:attribute name='brokerId' type='xs:string'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <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='maxSchedulerRepeatAllowed' 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='rollbackOnlyOnAsyncException' type='xs:boolean'/>
+      <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='anonymousProducerAdvisorySupport' type='xs:boolean'/>
+      <xs:attribute name='brokerContext' type='xs:string'/>
+      <xs:attribute name='brokerId' type='xs:string'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <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='maxSchedulerRepeatAllowed' 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='rollbackOnlyOnAsyncException' type='xs:boolean'/>
+      <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'/>
+              <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'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='remoteBroker' 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='staticallyIncludedDestinations' 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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='configuration' type='xs:string'/>
+      <xs:attribute name='createdByDuplex' type='xs:boolean'/>
+      <xs:attribute name='localBroker' type='xs:string'/>
+      <xs:attribute name='mbeanObjectName' type='xs:string'/>
+      <xs:attribute name='networkBridgeListener' type='xs:string'/>
+      <xs:attribute name='remoteBroker' 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.virtual.CompositeQueue -->
+  <xs:element name='compositeQueue'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Represents a virtual queue which forwards to a number of other destinations.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='forwardTo' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the list of destinations to forward to
+            ]]></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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='concurrentSend' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            when true, sends are done in parallel with the broker executor
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='copyMessage' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether a copy of the message will be sent to each destination.
+Defaults to true so that the forward destination is set as the
+destination of the message
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='forwardOnly' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets if the virtual destination is forward only (and so there is no
+physical queue to match the virtual queue) or if there is also a physical
+queue with the same name).
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='name' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the name of this composite destination
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.virtual.CompositeTopic -->
+  <xs:element name='compositeTopic'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Represents a virtual topic which forwards to a number of other destinations.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='forwardTo' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the list of destinations to forward to
+            ]]></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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='concurrentSend' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            when true, sends are done in parallel with the broker executor
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='copyMessage' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether a copy of the message will be sent to each destination.
+Defaults to true so that the forward destination is set as the
+destination of the message
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='forwardOnly' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets if the virtual destination is forward only (and so there is no
+physical queue to match the virtual queue) or if there is also a physical
+queue with the same name).
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='name' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the name of this composite destination
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.network.ConditionalNetworkBridgeFilterFactory -->
+  <xs:element name='conditionalNetworkBridgeFilterFactory'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        implement conditional behavior for queue consumers, allows replaying back to
+origin if no consumers are present on the local broker after a configurable
+delay, irrespective of the TTL. Also allows rate limiting of messages
+through the network, useful for static includes
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='rateDuration' type='xs:integer'/>
+      <xs:attribute name='rateLimit' type='xs:integer'/>
+      <xs:attribute name='replayDelay' type='xs:integer'/>
+      <xs:attribute name='replayWhenNoConsumers' type='xs:boolean'/>
+      <xs:attribute name='selectorAware' 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.broker.view.ConnectionDotFilePlugin -->
+  <xs:element name='connectionDotFilePlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A <a href="http://www.graphviz.org/">DOT</a> file creator plugin which
+creates a DOT file showing the current connections
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='file' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the destination file name to create the destination diagram
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.spring.ActiveMQConnectionFactory -->
+  <xs:element name='connectionFactory'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A <a href="http://www.springframework.org/">Spring</a> enhanced connection
+factory which will automatically use the Spring bean name as the clientIDPrefix property
+so that connections created have client IDs related to your Spring.xml file for
+easier comprehension from <a href="http://activemq.apache.org/jmx.html">JMX</a>.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='blobTransferPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the policy used to describe how out-of-band BLOBs (Binary Large
+OBjects) are transferred from producers to brokers to consumers
+            ]]></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='clientIdGenerator' 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='clientInternalExceptionListener' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Allows an {@link ClientInternalExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this clientInternalExceptionListener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)
+            ]]></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='connectionIdGenerator' 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='exceptionListener' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Allows an {@link ExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this exceptionLinstener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)
+            ]]></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='prefetchPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the <a
+href="http://activemq.apache.org/what-is-the-prefetch-limit-for.html">prefetch
+policy</a> for consumers created by this connection.
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:prefetchPolicy'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='properties' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Get the properties from this instance for storing in JNDI
+            ]]></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='redeliveryPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the global default redelivery policy to be used when a message is delivered
+but the session is rolled back
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:redeliveryPolicy'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='redeliveryPolicyMap' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the global redelivery policy mapping to be used when a message is delivered
+but the session is rolled back
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:redeliveryPolicyMap'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='rejectedTaskHandler' 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='sessionTaskRunner' 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='transformer' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the transformer used to transform messages before they are sent on
+to the JMS bus or when they are received from the bus but before they are
+delivered to the JMS client
+            ]]></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='transportListener' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Allows a listener to be configured on the ConnectionFactory so that when this factory is used
+with frameworks which don't expose the Connection such as Spring JmsTemplate, you can still register
+a transport listener.
+            ]]></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='trustedPackages' 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='alwaysSessionAsync' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            If this flag is not set then a separate thread is not used for dispatching messages for each Session in
+the Connection. However, a separate thread is always used if there is more than one session, or the session
+isn't in auto acknowledge or duplicates ok mode.  By default this value is set to true and session dispatch
+happens asynchronously.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='alwaysSyncSend' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set true if always require messages to be sync sent
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='auditDepth' type='xs:integer'/>
+      <xs:attribute name='auditMaximumProducerNumber' type='xs:integer'/>
+      <xs:attribute name='beanName' type='xs:string'/>
+      <xs:attribute name='blobTransferPolicy' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the policy used to describe how out-of-band BLOBs (Binary Large
+OBjects) are transferred from producers to brokers to consumers
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='brokerURL' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the <a
+href="http://activemq.apache.org/configuring-transports.html">connection
+URL</a> used to connect to the ActiveMQ broker.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='checkForDuplicates' type='xs:boolean'/>
+      <xs:attribute name='clientID' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JMS clientID to use for the created connection. Note that this
+can only be used by one connection at once so generally its a better idea
+to set the clientID on a Connection
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='clientIDPrefix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the prefix used by autogenerated JMS Client ID values which are used
+if the JMS client does not explicitly specify on.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='clientIdGenerator' type='xs:string'/>
+      <xs:attribute name='clientInternalExceptionListener' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Allows an {@link ClientInternalExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this clientInternalExceptionListener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='closeTimeout' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the timeout before a close is considered complete. Normally a
+close() on a connection waits for confirmation from the broker; this
+allows that operation to timeout to save the client hanging if there is
+no broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='connectResponseTimeout' type='xs:integer'/>
+      <xs:attribute name='connectionIDPrefix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the prefix used by connection id generator
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='connectionIdGenerator' type='xs:string'/>
+      <xs:attribute name='consumerExpiryCheckEnabled' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Controls whether message expiration checking is done in each MessageConsumer
+prior to dispatching a message.  Disabling this check can lead to consumption
+of expired messages.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='consumerFailoverRedeliveryWaitPeriod' type='xs:long'/>
+      <xs:attribute name='copyMessageOnSend' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Should a JMS message be copied to a new JMS Message object as part of the
+send() method in JMS. This is enabled by default to be compliant with the
+JMS specification. You can disable it if you do not mutate JMS messages
+after they are sent for a performance boost
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='disableTimeStampsByDefault' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not timestamps on messages should be disabled or not. If
+you disable them it adds a small performance boost.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dispatchAsync' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the default setting of whether or not consumers have
+their messages <a
+href="http://activemq.apache.org/consumer-dispatch-async.html">dispatched
+synchronously or asynchronously by the broker</a>. For non-durable
+topics for example we typically dispatch synchronously by default to
+minimize context switches which boost performance. However sometimes its
+better to go slower to ensure that a single blocked consumer socket does
+not block delivery to other consumers.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='exceptionListener' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Allows an {@link ExceptionListener} to be configured on the ConnectionFactory so that when this factory
+is used by frameworks which don't expose the Connection such as Spring JmsTemplate, you can register
+an exception listener.
+<p> Note: access to this exceptionLinstener will <b>not</b> be serialized if it is associated with more than
+on connection (as it will be if more than one connection is subsequently created by this connection factory)
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='exclusiveConsumer' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables whether or not queue consumers should be exclusive or
+not for example to preserve ordering when not using <a
+href="http://activemq.apache.org/message-groups.html">Message Groups</a>
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='maxThreadPoolSize' type='xs:integer'/>
+      <xs:attribute name='messagePrioritySupported' type='xs:boolean'/>
+      <xs:attribute name='nestedMapAndListEnabled' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables/disables whether or not Message properties and MapMessage entries
+support <a
+href="http://activemq.apache.org/structured-message-properties-and-mapmessages.html">Nested
+Structures</a> of Map and List objects
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='nonBlockingRedelivery' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            When true a MessageConsumer will not stop Message delivery before re-delivering Messages
+from a rolled back transaction.  This implies that message order will not be preserved and
+also will result in the TransactedIndividualAck option to be enabled.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='objectMessageSerializationDefered' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            When an object is set on an ObjectMessage, the JMS spec requires the
+object to be serialized by that set method. Enabling this flag causes the
+object to not get serialized. The object may subsequently get serialized
+if the message needs to be sent over a socket or stored to disk.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='optimizeAcknowledge' type='xs:boolean'/>
+      <xs:attribute name='optimizeAcknowledgeTimeOut' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            The max time in milliseconds between optimized ack batches
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='optimizedAckScheduledAckInterval' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Gets the configured time interval that is used to force all MessageConsumers that have optimizedAcknowledge enabled
+to send an ack for any outstanding Message Acks.  By default this value is set to zero meaning that the consumers
+will not do any background Message acknowledgment.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='optimizedMessageDispatch' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            If this flag is set then an larger prefetch limit is used - only
+applicable for durable topic subscribers.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='password' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JMS password used for connections created from this factory
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='prefetchPolicy' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the <a
+href="http://activemq.apache.org/what-is-the-prefetch-limit-for.html">prefetch
+policy</a> for consumers created by this connection.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='producerWindowSize' type='xs:integer'/>
+      <xs:attribute name='properties' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the properties from this instance for storing in JNDI
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='redeliveryPolicy' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the global default redelivery policy to be used when a message is delivered
+but the session is rolled back
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='redeliveryPolicyMap' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the global redelivery policy mapping to be used when a message is delivered
+but the session is rolled back
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='rejectedTaskHandler' type='xs:string'/>
+      <xs:attribute name='rmIdFromConnectionId' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            uses the connection id as the resource identity for XAResource.isSameRM
+ensuring join will only occur on a single connection
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='sendAcksAsync' type='xs:boolean'/>
+      <xs:attribute name='sendTimeout' type='xs:integer'/>
+      <xs:attribute name='sessionTaskRunner' type='xs:string'/>
+      <xs:attribute name='statsEnabled' type='xs:boolean'/>
+      <xs:attribute name='transactedIndividualAck' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            when true, submit individual transacted acks immediately rather than with transaction completion.
+This allows the acks to represent delivery status which can be persisted on rollback
+Used in conjunction with org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter#setRewriteOnRedelivery(boolean)  true
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='transformer' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the transformer used to transform messages before they are sent on
+to the JMS bus or when they are received from the bus but before they are
+delivered to the JMS client
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='transportListener' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Allows a listener to be configured on the ConnectionFactory so that when this factory is used
+with frameworks which don't expose the Connection such as Spring JmsTemplate, you can still register
+a transport listener.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='trustAllPackages' type='xs:boolean'/>
+      <xs:attribute name='useAsyncSend' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Forces the use of <a
+href="http://activemq.apache.org/async-sends.html">Async Sends</a> which
+adds a massive performance boost; but means that the send() method will
+return immediately whether the message has been sent or not which could
+lead to message loss.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useBeanNameAsClientIdPrefix' type='xs:boolean'/>
+      <xs:attribute name='useCompression' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables the use of compression of the message bodies
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useDedicatedTaskRunner' type='xs:boolean'/>
+      <xs:attribute name='useRetroactiveConsumer' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not retroactive consumers are enabled. Retroactive
+consumers allow non-durable topic subscribers to receive old messages
+that were published before the non-durable subscriber started.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='userName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JMS userName used by connections created by this factory
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='warnAboutUnstartedConnectionTimeout' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables the timeout from a connection creation to when a warning is
+generated if the connection is not properly started via
+{@link Connection#start()} and a message is received by a consumer. It is
+a very common gotcha to forget to <a
+href="http://activemq.apache.org/i-am-not-receiving-any-messages-what-is-wrong.html">start
+the connection</a> so this option makes the default case to create a
+warning if the user forgets. To disable the warning just set the value to <
+0 (say -1).
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='watchTopicAdvisories' 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.broker.region.policy.ConstantPendingMessageLimitStrategy -->
+  <xs:element name='constantPendingMessageLimitStrategy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        This PendingMessageLimitStrategy is configured to a constant value for all subscriptions.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='limit' 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.store.jdbc.DefaultDatabaseLocker -->
+  <xs:element name='database-locker'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Represents an exclusive lock on a database to avoid multiple brokers running
+against the same logical database.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='dataSource' 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='exceptionHandler' 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='lockable' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:journalPersistenceAdapterFactory'/>
+              <xs:element ref='tns:journaledJDBC'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <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='createTablesOnStartup' type='xs:boolean'/>
+      <xs:attribute name='dataSource' type='xs:string'/>
+      <xs:attribute name='exceptionHandler' type='xs:string'/>
+      <xs:attribute name='failIfLocked' type='xs:boolean'/>
+      <xs:attribute name='lockAcquireSleepInterval' type='xs:long'/>
+      <xs:attribute name='lockable' type='xs:string'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='queryTimeout' type='xs:integer'/>
+      <xs:attribute name='statements' 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.DB2JDBCAdapter -->
+  <xs:element name='db2JDBCAdapter'>
+    <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.util.DefaultIOExceptionHandler -->
+  <xs:element name='defaultIOExceptionHandler'>
+    <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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='ignoreAllErrors' type='xs:boolean'/>
+      <xs:attribute name='ignoreNoSpaceErrors' type='xs:boolean'/>
+      <xs:attribute name='ignoreSQLExceptions' type='xs:boolean'/>
+      <xs:attribute name='noSpaceMessage' type='xs:string'/>
+      <xs:attribute name='resumeCheckSleepPeriod' type='xs:long'/>
+      <xs:attribute name='sqlExceptionMessage' type='xs:string'/>
+      <xs:attribute name='stopStartConnectors' type='xs:boolean'/>
+      <xs:attribute name='systemExitOnShutdown' 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.DefaultJDBCAdapter -->
+  <xs:element name='defaultJDBCAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Implements all the default JDBC operations that are used by the JDBCPersistenceAdapter. <p/> sub-classing is
+encouraged to override the default implementation of methods to account for differences in JDBC Driver
+implementations. <p/> The JDBCAdapter inserts and extracts BLOB data using the getBytes()/setBytes() operations. <p/>
+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.network.DefaultNetworkBridgeFilterFactory -->
+  <xs:element name='defaultNetworkBridgeFilterFactory'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        implement default behavior, filter that will not allow re-send to origin
+based on brokerPath and which respects networkTTL
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.usage.DefaultUsageCapacity -->
+  <xs:element name='defaultUsageCapacity'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Identify if a limit has been reached
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='limit' 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.network.DemandForwardingBridge -->
+  <xs:element name='demandForwardingBridge'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Forwards messages from the local broker to the remote broker based on demand.
+      ]]></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'>
+          <xs:complexType>
+            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any minOccurs='0' maxOccurs='unbounded'/></xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='remoteBroker' 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='staticallyIncludedDestinations' 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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='configuration' type='xs:string'/>
+      <xs:attribute name='createdByDuplex' type='xs:boolean'/>
+      <xs:attribute name='localBroker' type='xs:string'/>
+      <xs:attribute name='mbeanObjectName' type='xs:string'/>
+      <xs:attribute name='networkBridgeListener' type='xs:string'/>
+      <xs:attribute name='remoteBroker' 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.view.DestinationDotFilePlugin -->
+  <xs:element name='destinationDotFilePlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A <a href="http://www.graphviz.org/">DOT</a> 
+file creator plugin which creates a DOT file showing the current topic & queue hierarchies.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='file' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the destination file name to create the destination diagram
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.filter.DefaultDestinationMapEntry -->
+  <xs:element name='destinationEntry'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A default entry in a DestinationMap which holds a single value.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <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='value' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:authorizationEntry'/>
+              <xs:element ref='tns:destinationEntry'/>
+              <xs:element ref='tns:filteredKahaDB'/>
+              <xs:element ref='tns:policyEntry'/>
+              <xs:element ref='tns:redeliveryPolicy'/>
+              <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='destination' 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='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='value' 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.DestinationPathSeparatorBroker -->
+  <xs:element name='destinationPathSeparatorPlugin'>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adminConnectionContext' 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='next' 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='adminConnectionContext' type='xs:string'/>
+      <xs:attribute name='next' type='xs:string'/>
+      <xs:attribute name='pathSeparator' 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.DestinationsPlugin -->
+  <xs:element name='destinationsPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A simple plugin that can be used to export/import runtime destinations. It's useful in security constrained
+environments where you want to create destinations only through the management APIs and be able to
+replicate them to another broker
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adminConnectionContext' 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='next' 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='adminConnectionContext' type='xs:string'/>
+      <xs:attribute name='location' type='xs:string'/>
+      <xs:attribute name='next' 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.DiscardingDeadLetterStrategy -->
+  <xs:element name='discarding'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Dead Letter Strategy that discards all messages
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='deadLetterQueue' 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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='deadLetterQueue' type='xs:string'/>
+      <xs:attribute name='enableAudit' type='xs:boolean'/>
+      <xs:attribute name='expiration' type='xs:long'/>
+      <xs:attribute name='maxAuditDepth' type='xs:integer'/>
+      <xs:attribute name='maxProducersToAudit' type='xs:integer'/>
+      <xs:attribute name='processExpired' type='xs:boolean'/>
+      <xs:attribute name='processNonPersistent' 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.plugin.DiscardingDLQBrokerPlugin -->
+  <xs:element name='discardingDLQBrokerPlugin'>
+    <xs:complexType>
+      <xs:attribute name='dropAll' type='xs:boolean'/>
+      <xs:attribute name='dropOnly' type='xs:string'/>
+      <xs:attribute name='dropTemporaryQueues' type='xs:boolean'/>
+      <xs:attribute name='dropTemporaryTopics' type='xs:boolean'/>
+      <xs:attribute name='reportInterval' 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.broker.region.policy.FilePendingSubscriberMessageStoragePolicy -->
+  <xs:element name='fileCursor'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Pending messages
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <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.FilePendingDurableSubscriberMessageStoragePolicy -->
+  <xs:element name='fileDurableSubscriberCursor'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Pending messages for durable subscribers
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <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.FilePendingQueueMessageStoragePolicy -->
+  <xs:element name='fileQueueCursor'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Pending
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <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.virtual.FilteredDestination -->
+  <xs:element name='filteredDestination'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Represents a destination which is filtered using some predicate such as a selector
+so that messages are only dispatched to the destination if they match the filter.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='destination' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              The destination to send messages to if they match the filter
+            ]]></xs:documentation>
+          </xs:annotation>
+          <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='filter' 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='destination' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            The destination to send messages to if they match the filter
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='filter' type='xs:string'/>
+      <xs:attribute name='queue' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the destination property to the given queue name
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='selector' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JMS selector used to filter messages before forwarding them to this destination
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='topic' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the destination property to the given topic name
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.store.kahadb.FilteredKahaDBPersistenceAdapter -->
+  <xs:element name='filteredKahaDB'>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adapter' minOccurs='0' maxOccurs='1'>
+          <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='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='persistenceAdapter' minOccurs='0' maxOccurs='1'>
+          <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='template' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:filteredKahaDB'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='usage' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:storeUsage'/>
+              <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='adapter' type='xs:string'/>
+      <xs:attribute name='destination' type='xs:string'/>
+      <xs:attribute name='perDestination' type='xs:boolean'/>
+      <xs:attribute name='persistenceAdapter' 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='tempQueue' type='xs:boolean'/>
+      <xs:attribute name='tempTopic' type='xs:boolean'/>
+      <xs:attribute name='template' type='xs:string'/>
+      <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='usage' 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.FixedCountSubscriptionRecoveryPolicy -->
+  <xs:element name='fixedCountSubscriptionRecoveryPolicy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed
+count of last messages.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='broker' 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='broker' type='xs:string'/>
+      <xs:attribute name='maximumSize' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the maximum number of messages that this destination will hold
+around in RAM
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.FixedSizedSubscriptionRecoveryPolicy -->
+  <xs:element name='fixedSizedSubscriptionRecoveryPolicy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        This implementation of {@link SubscriptionRecoveryPolicy} will keep a fixed
+amount of memory available in RAM for message history which is evicted in
+time order.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='broker' 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='buffer' 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='broker' type='xs:string'/>
+      <xs:attribute name='buffer' type='xs:string'/>
+      <xs:attribute name='maximumSize' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the maximum amount of RAM in bytes that this buffer can hold in RAM
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useSharedBuffer' 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.plugin.ForcePersistencyModeBroker -->
+  <xs:element name='forcePersistencyModeBroker'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A Plugin which allows to force every incoming message to be PERSISTENT or NON-PERSISTENT. 
+
+Useful, if you have set the broker usage policy to process ONLY persistent or ONLY non-persistent
+messages.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adminConnectionContext' 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='next' 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='adminConnectionContext' type='xs:string'/>
+      <xs:attribute name='next' type='xs:string'/>
+      <xs:attribute name='persistenceFlag' 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.plugin.ForcePersistencyModeBrokerPlugin -->
+  <xs:element name='forcePersistencyModeBrokerPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A Plugin which allows to force every incoming message to be PERSISTENT or
+NON-PERSISTENT.
+
+Useful, if you have set the broker usage policy to process ONLY persistent or
+ONLY non-persistent messages.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='persistenceFlag' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the persistence mode.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.network.ForwardingBridge -->
+  <xs:element name='forwardingBridge'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Forwards all messages from the local broker to the remote broker.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <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='networkBridgeFailedListener' 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='remoteBroker' 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='clientId' type='xs:string'/>
+      <xs:attribute name='destinationFilter' type='xs:string'/>
+      <xs:attribute name='dispatchAsync' type='xs:boolean'/>
+      <xs:attribute name='localBroker' type='xs:string'/>
+      <xs:attribute name='networkBridgeFailedListener' type='xs:string'/>
+      <xs:attribute name='prefetchSize' type='xs:integer'/>
+      <xs:attribute name='remoteBroker' type='xs:string'/>
+      <xs:attribute name='useCompression' 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.HsqldbJDBCAdapter -->
+  <xs:element name='hsqldb-jdbc-adapter'>
+    <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.ImageBasedJDBCAdaptor -->
+  <xs:element name='imageBasedJDBCAdaptor'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Provides JDBCAdapter since that uses
+IMAGE datatype to hold binary data.
+
+The databases/JDBC drivers that use this adapter are:
+<ul>
+<li>Sybase</li>
+<li>MS SQL</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.network.jms.InboundQueueBridge -->
+  <xs:element name='inboundQueueBridge'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Create an Inbound Queue Bridge.  By default this class uses the sname name for
+both the inbound and outbound queue.  This behavior can be overridden however
+by using the setter methods to configure both the inbound and outboud queue names
+separately.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='consumer' 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='consumerConnection' 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='consumerQueue' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:queue'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jmsConnector' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jmsQueueConnector'/>
+              <xs:element ref='tns:jmsTopicConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jmsMessageConvertor' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:simpleJmsMessageConvertor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='producerConnection' 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='producerQueue' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:queue'/>
+              <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='consumer' type='xs:string'/>
+      <xs:attribute name='consumerConnection' type='xs:string'/>
+      <xs:attribute name='consumerQueue' type='xs:string'/>
+      <xs:attribute name='doHandleReplyTo' type='xs:boolean'/>
+      <xs:attribute name='inboundQueueName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the queue name used for the inbound queue, if the outbound queue
+name has not been set, then this method uses the same name to configure
+the outbound queue name.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='jmsConnector' type='xs:string'/>
+      <xs:attribute name='jmsMessageConvertor' type='xs:string'/>
+      <xs:attribute name='localQueueName' type='xs:string'/>
+      <xs:attribute name='producerConnection' type='xs:string'/>
+      <xs:attribute name='producerQueue' type='xs:string'/>
+      <xs:attribute name='selector' 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.jms.InboundTopicBridge -->
+  <xs:element name='inboundTopicBridge'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Create an Inbound Topic Bridge.  By default this class uses the topic name for
+both the inbound and outbound topic.  This behavior can be overridden however
+by using the setter methods to configure both the inbound and outboud topic names
+separately.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='consumer' 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='consumerConnection' 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='consumerTopic' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:topic'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jmsConnector' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jmsQueueConnector'/>
+              <xs:element ref='tns:jmsTopicConnector'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='jmsMessageConvertor' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:simpleJmsMessageConvertor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='producerConnection' 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='producerTopic' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:topic'/>
+              <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='consumer' type='xs:string'/>
+      <xs:attribute name='consumerConnection' type='xs:string'/>
+      <xs:attribute name='consumerName' type='xs:string'/>
+      <xs:attribute name='consumerTopic' type='xs:string'/>
+      <xs:attribute name='doHandleReplyTo' type='xs:boolean'/>
+      <xs:attribute name='inboundTopicName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the topic name used for the inbound topic, if the outbound topic
+name has not been set, then this method uses the same name to configure
+the outbound topic name.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='jmsConnector' type='xs:string'/>
+      <xs:attribute name='jmsMessageConvertor' type='xs:string'/>
+      <xs:attribute name='localTopicName' type='xs:string'/>
+      <xs:attribute name='producerConnection' type='xs:string'/>
+      <xs:attribute name='producerTopic' type='xs:string'/>
+      <xs:attribute name='selector' 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.IndividualDeadLetterStrategy -->
+  <xs:element name='individualDeadLetterStrategy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A {@link DeadLetterStrategy} where each destination has its own individual
+DLQ using the subject naming hierarchy.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='destinationPerDurableSubscriber' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            sets whether durable topic subscriptions are to get individual dead letter destinations.
+When true, the DLQ is of the form 'topicPrefix.clientId:subscriptionName'
+The default is false.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='enableAudit' type='xs:boolean'/>
+      <xs:attribute name='expiration' type='xs:long'/>
+      <xs:attribute name='maxAuditDepth' type='xs:integer'/>
+      <xs:attribute name='maxProducersToAudit' type='xs:integer'/>
+      <xs:attribute name='processExpired' type='xs:boolean'/>
+      <xs:attribute name='processNonPersistent' type='xs:boolean'/>
+      <xs:attribute name='queuePrefix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the prefix to use for all dead letter queues for queue messages
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='queueSuffix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the suffix to use for all dead letter queues for queue messages
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='topicPrefix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the prefix to use for all dead letter queues for topic messages
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='topicSuffix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the suffix to use for all dead letter queues for topic messages
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useQueueForQueueMessages' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether a queue or topic should be used for queue messages sent to a
+DLQ. The default is to use a Queue
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useQueueForTopicMessages' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether a queue or topic should be used for topic messages sent to a
+DLQ. The default is to use a Queue
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.InformixJDBCAdapter -->
+  <xs:element name='informixJDBCAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        JDBC Adapter for Informix database.
+Because Informix database restricts length of composite primary keys, length of 
+<i>container name</i> field and <i>subscription id</i> field must be reduced to 150 characters.
+Therefore be sure not to use longer names for container name and subscription id than 150 characters.
+      ]]></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.JDBCIOExceptionHandler -->
+  <xs:element name='jDBCIOExceptionHandler'>
+    <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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='ignoreAllErrors' type='xs:boolean'/>
+      <xs:attribute name='ignoreNoSpaceErrors' type='xs:boolean'/>
+      <xs:attribute name='ignoreSQLExceptions' type='xs:boolean'/>
+      <xs:attribute name='noSpaceMessage' type='xs:string'/>
+      <xs:attribute name='resumeCheckSleepPeriod' type='xs:long'/>
+      <xs:attribute name='sqlExceptionMessage' type='xs:string'/>
+      <xs:attribute name='stopStartConnectors' type='xs:boolean'/>
+      <xs:attribute name='systemExitOnShutdown' 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.JaasAuthenticationPlugin -->
+  <xs:element name='jaasAuthenticationPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Provides a JAAS based authentication plugin
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='configuration' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JAAS configuration domain name used
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='discoverLoginConfig' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. 
+This flag is enabled by default such that if the <b>java.security.auth.login.config</b> system property
+is not defined then it is set to the location of the <b>login.config</b> file on the classpath.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.security.JaasCertificateAuthenticationPlugin -->
+  <xs:element name='jaasCertificateAuthenticationPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Provides a JAAS based SSL certificate authentication plugin
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='configuration' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JAAS configuration domain name used
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='discoverLoginConfig' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. 
+This flag is enabled by default such that if the <b>java.security.auth.login.config</b> system property
+is not defined then it is set to the location of the <b>login.config</b> file on the classpath.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.security.JaasDualAuthenticationPlugin -->
+  <xs:element name='jaasDualAuthenticationPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Provides a JAAS based authentication plugin
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='configuration' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the JAAS configuration domain name used
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='discoverLoginConfig' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the auto-discovery of the login.config file for JAAS to initialize itself. 
+This flag is enabled by default such that if the <b>java.security.auth.login.config</b> system property
+is not defined then it is set to the location of the <b>login.config</b> file on the classpath.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='sslConfiguration' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set the JAAS SSL configuration domain
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.JDBCPersistenceAdapter -->
+  <xs:element name='jdbcPersistenceAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A {@link PersistenceAdapter} implementation using JDBC for persistence
+storage.
+
+This persistence adapter will correctly remember prepared XA transactions,
+but it will not keep track of local transaction commits so that operations
+performed against the Message store are done as a single uow.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adapter' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:axionJDBCAdapter'/>
+              <xs:element ref='tns:blobJDBCAdapter'/>
+              <xs:element ref='tns:bytesJDBCAdapter'/>
+              <xs:element ref='tns:db2JDBCAdapter'/>
+              <xs:element ref='tns:defaultJDBCAdapter'/>
+              <xs:element ref='tns:hsqldb-jdbc-adapter'/>
+              <xs:element ref='tns:imageBasedJDBCAdaptor'/>
+              <xs:element ref='tns:informixJDBCAdapter'/>
+              <xs:element ref='tns:maxdb-jdbc-adapter'/>
+              <xs:element ref='tns:mysql-jdbc-adapter'/>
+              <xs:element ref='tns:oracleBlobJDBCAdapter'/>
+              <xs:element ref='tns:oracleJDBCAdapter'/>
+              <xs:element ref='tns:postgresql-jdbc-adapter'/>
+              <xs:element ref='tns:sqlServerJDBCAdapter'/>
+              <xs:element ref='tns:streamJDBCAdapter'/>
+              <xs:element ref='tns:sybase-jdbc-adapter'/>
+              <xs:element ref='tns:transact-jdbc-adapter'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </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='dataSource' 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='databaseLocker' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the database locker strategy to use to lock the database on startup
+            ]]></xs:documentation>
+          </xs:annotation>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='ds' 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='lockDataSource' 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='locker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='scheduledThreadPoolExecutor' 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='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: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='adapter' type='xs:string'/>
+      <xs:attribute name='auditRecoveryDepth' type='xs:integer'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='changeAutoCommitAllowed' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Whether the JDBC driver allows to set the auto commit.
+Some drivers does not allow changing the auto commit. The default value is true.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='cleanupPeriod' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the number of milliseconds until the database is attempted to be
+cleaned up for durable topics
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='createTablesOnStartup' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not tables are created on startup
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dataDirectory' type='xs:string'/>
+      <xs:attribute name='dataDirectoryFile' type='xs:string'/>
+      <xs:attribute name='dataSource' type='xs:string'/>
+      <xs:attribute name='databaseLocker' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the database locker strategy to use to lock the database on startup
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='directory' type='xs:string'/>
+      <xs:attribute name='ds' type='xs:string'/>
+      <xs:attribute name='enableAudit' type='xs:boolean'/>
+      <xs:attribute name='lockAcquireSleepInterval' type='xs:long'/>
+      <xs:attribute name='lockDataSource' type='xs:string'/>
+      <xs:attribute name='lockKeepAlivePeriod' type='xs:long'/>
+      <xs:attribute name='locker' type='xs:string'/>
+      <xs:attribute name='maxAuditDepth' type='xs:integer'/>
+      <xs:attribute name='maxProducersToAudit' type='xs:integer'/>
+      <xs:attribute name='maxRows' type='xs:integer'/>
+      <xs:attribute name='networkTimeout' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Define the JDBC connection network timeout.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='queryTimeout' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Define the JDBC statement query timeout.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='scheduledThreadPoolExecutor' type='xs:string'/>
+      <xs:attribute name='statements' type='xs:string'/>
+      <xs:attribute name='stopOnError' type='xs:boolean'/>
+      <xs:attribute name='transactionIsolation' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            set the Transaction isolation level to something other that TRANSACTION_READ_UNCOMMITTED
+This allowable dirty isolation level may not be achievable in clustered DB environments
+so a more restrictive and expensive option may be needed like TRANSACTION_REPEATABLE_READ
+see isolation level constants in {@link java.sql.Connection}
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='usageManager' type='xs:string'/>
+      <xs:attribute name='useDatabaseLock' type='xs:boolean'/>
+      <xs:attribute name='useExternalMessageReferences' type='xs:boolean'/>
+      <xs:attribute name='useLock' 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.network.jms.JmsQueueConnector -->
+  <xs:element name='jmsQueueConnector'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A Bridge to other JMS Queue providers
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='brokerService' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              One way to configure the local connection - this is called by The
+BrokerService when the Connector is embedded
+            ]]></xs:documentation>
+          </xs:annotation>
+          <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='inboundMessageConvertor' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:simpleJmsMessageConvertor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='inboundQueueBridges' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:inboundQueueBridge'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='localQueueConnection' 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='localQueueConnectionFactory' 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:element name='outboundMessageConvertor' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:simpleJmsMessageConvertor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='outboundQueueBridges' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:outboundQueueBridge'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='outboundQueueConnection' 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='outboundQueueConnectionFactory' 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:element name='reconnectionPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:reconnectionPolicy'/>
+              <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='brokerService' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            One way to configure the local connection - this is called by The
+BrokerService when the Connector is embedded
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='inboundMessageConvertor' type='xs:string'/>
+      <xs:attribute name='jndiLocalTemplate' type='xs:string'/>
+      <xs:attribute name='jndiOutboundTemplate' type='xs:string'/>
+      <xs:attribute name='localClientId' type='xs:string'/>
+      <xs:attribute name='localConnectionFactoryName' type='xs:string'/>
+      <xs:attribute name='localPassword' type='xs:string'/>
+      <xs:attribute name='localQueueConnection' type='xs:string'/>
+      <xs:attribute name='localQueueConnectionFactory' type='xs:string'/>
+      <xs:attribute name='localUsername' type='xs:string'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='outboundClientId' type='xs:string'/>
+      <xs:attribute name='outboundMessageConvertor' type='xs:string'/>
+      <xs:attribute name='outboundPassword' type='xs:string'/>
+      <xs:attribute name='outboundQueueConnection' type='xs:string'/>
+      <xs:attribute name='outboundQueueConnectionFactory' type='xs:string'/>
+      <xs:attribute name='outboundQueueConnectionFactoryName' type='xs:string'/>
+      <xs:attribute name='outboundUsername' type='xs:string'/>
+      <xs:attribute name='preferJndiDestinationLookup' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether the connector should prefer to first try to find a destination in JNDI before
+using JMS semantics to create a Destination.  By default the connector will first use JMS
+semantics and then fall-back to JNDI lookup, setting this value to true will reverse that
+ordering.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='reconnectionPolicy' type='xs:string'/>
+      <xs:attribute name='replyToDestinationCacheSize' 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.network.jms.JmsTopicConnector -->
+  <xs:element name='jmsTopicConnector'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A Bridge to other JMS Topic providers
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='brokerService' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              One way to configure the local connection - this is called by The
+BrokerService when the Connector is embedded
+            ]]></xs:documentation>
+          </xs:annotation>
+          <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='inboundMessageConvertor' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:simpleJmsMessageConvertor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='inboundTopicBridges' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:inboundTopicBridge'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='localTopicConnection' 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='localTopicConnectionFactory' 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:element name='outboundMessageConvertor' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:simpleJmsMessageConvertor'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='outboundTopicBridges' minOccurs='0' maxOccurs='unbounded'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='unbounded'>
+              <xs:element ref='tns:outboundTopicBridge'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='outboundTopicConnection' 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='outboundTopicConnectionFactory' 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:element name='reconnectionPolicy' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:reconnectionPolicy'/>
+              <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='brokerService' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            One way to configure the local connection - this is called by The
+BrokerService when the Connector is embedded
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='inboundMessageConvertor' type='xs:string'/>
+      <xs:attribute name='jndiLocalTemplate' type='xs:string'/>
+      <xs:attribute name='jndiOutboundTemplate' type='xs:string'/>
+      <xs:attribute name='localClientId' type='xs:string'/>
+      <xs:attribute name='localConnectionFactoryName' type='xs:string'/>
+      <xs:attribute name='localPassword' type='xs:string'/>
+      <xs:attribute name='localTopicConnection' type='xs:string'/>
+      <xs:attribute name='localTopicConnectionFactory' type='xs:string'/>
+      <xs:attribute name='localUsername' type='xs:string'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='outboundClientId' type='xs:string'/>
+      <xs:attribute name='outboundMessageConvertor' type='xs:string'/>
+      <xs:attribute name='outboundPassword' type='xs:string'/>
+      <xs:attribute name='outboundTopicConnection' type='xs:string'/>
+      <xs:attribute name='outboundTopicConnectionFactory' type='xs:string'/>
+      <xs:attribute name='outboundTopicConnectionFactoryName' type='xs:string'/>
+      <xs:attribute name='outboundUsername' type='xs:string'/>
+      <xs:attribute name='preferJndiDestinationLookup' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether the connector should prefer to first try to find a destination in JNDI before
+using JMS semantics to create a Destination.  By default the connector will first use JMS
+semantics and then fall-back to JNDI lookup, setting this value to true will reverse that
+ordering.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='reconnectionPolicy' type='xs:string'/>
+      <xs:attribute name='replyToDestinationCacheSize' 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.usage.JobSchedulerUsage -->
+  <xs:element name='jobSchedulerUsage'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Used to keep track of how much of something is being used so that a
+productive working set usage can be controlled. Main use case is manage
+memory usage.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='executor' 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='limiter' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:defaultUsageCapacity'/>
+              <xs:element ref='tns:usageCapacity'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='parent' 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='store' 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='executor' type='xs:string'/>
+      <xs:attribute name='limit' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager
+is not going to be portion based off the parent. 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='limiter' type='xs:string'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='parent' type='xs:string'/>
+      <xs:attribute name='percentUsage' type='xs:integer'/>
+      <xs:attribute name='percentUsageMinDelta' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the
+manager.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='pollingTime' type='xs:integer'/>
+      <xs:attribute name='store' type='xs:string'/>
+      <xs:attribute name='usagePortion' type='xs:float'/>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.store.journal.JournalPersistenceAdapter -->
+  <xs:element name='journalPersistenceAdapter'>
+    <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='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='journal' 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='longTermPersistence' minOccurs='0' maxOccurs='1'>
+          <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='persistenceAdapter' minOccurs='0' maxOccurs='1'>
+          <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='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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkpointInterval' type='xs:long'/>
+      <xs:attribute name='directory' type='xs:string'/>
+      <xs:attribute name='journal' type='xs:string'/>
+      <xs:attribute name='longTermPersistence' type='xs:string'/>
+      <xs:attribute name='maxCheckpointMessageAddSize' type='xs:integer'/>
+      <xs:attribute name='maxCheckpointWorkers' type='xs:integer'/>
+      <xs:attribute name='persistenceAdapter' type='xs:string'/>
+      <xs:attribute name='taskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='usageManager' 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.journal.JournalPersistenceAdapterFactory -->
+  <xs:element name='journalPersistenceAdapterFactory'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Factory class that can create PersistenceAdapter objects.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adapter' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:axionJDBCAdapter'/>
+              <xs:element ref='tns:blobJDBCAdapter'/>
+              <xs:element ref='tns:bytesJDBCAdapter'/>
+              <xs:element ref='tns:db2JDBCAdapter'/>
+              <xs:element ref='tns:defaultJDBCAdapter'/>
+              <xs:element ref='tns:hsqldb-jdbc-adapter'/>
+              <xs:element ref='tns:imageBasedJDBCAdaptor'/>
+              <xs:element ref='tns:informixJDBCAdapter'/>
+              <xs:element ref='tns:maxdb-jdbc-adapter'/>
+              <xs:element ref='tns:mysql-jdbc-adapter'/>
+              <xs:element ref='tns:oracleBlobJDBCAdapter'/>
+              <xs:element ref='tns:oracleJDBCAdapter'/>
+              <xs:element ref='tns:postgresql-jdbc-adapter'/>
+              <xs:element ref='tns:sqlServerJDBCAdapter'/>
+              <xs:element ref='tns:streamJDBCAdapter'/>
+              <xs:element ref='tns:sybase-jdbc-adapter'/>
+              <xs:element ref='tns:transact-jdbc-adapter'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </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='dataSource' 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='jdbcAdapter' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='journal' 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='locker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='scheduledThreadPoolExecutor' 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='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: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='adapter' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkpointInterval' type='xs:long'/>
+      <xs:attribute name='createTablesOnStartup' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not tables are created on startup
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dataDirectory' type='xs:string'/>
+      <xs:attribute name='dataDirectoryFile' type='xs:string'/>
+      <xs:attribute name='dataSource' type='xs:string'/>
+      <xs:attribute name='jdbcAdapter' type='xs:string'/>
+      <xs:attribute name='journal' type='xs:string'/>
+      <xs:attribute name='journalArchiveDirectory' type='xs:string'/>
+      <xs:attribute name='journalLogFileSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the size of the journal log files
+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='journalLogFiles' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the number of journal log files to use
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='journalThreadPriority' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the thread priority of the journal thread
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='lockKeepAlivePeriod' type='xs:long'/>
+      <xs:attribute name='locker' type='xs:string'/>
+      <xs:attribute name='scheduledThreadPoolExecutor' type='xs:string'/>
+      <xs:attribute name='statements' type='xs:string'/>
+      <xs:attribute name='stopOnError' type='xs:boolean'/>
+      <xs:attribute name='taskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='useDatabaseLock' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not an exclusive database lock should be used to enable
+JDBC Master/Slave. Enabled by default.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useDedicatedTaskRunner' type='xs:boolean'/>
+      <xs:attribute name='useJournal' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the use of the journal. The default is to use the
+journal
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useLock' type='xs:boolean'/>
+      <xs:attribute name='useQuickJournal' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the use of quick journal, which keeps messages in the
+journal and just stores a reference to the messages in JDBC. Defaults to
+false so that messages actually reside long term in the JDBC database.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.store.PersistenceAdapterFactoryBean -->
+  <xs:element name='journaledJDBC'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Creates a default persistence model using the Journal and JDBC
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adapter' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:axionJDBCAdapter'/>
+              <xs:element ref='tns:blobJDBCAdapter'/>
+              <xs:element ref='tns:bytesJDBCAdapter'/>
+              <xs:element ref='tns:db2JDBCAdapter'/>
+              <xs:element ref='tns:defaultJDBCAdapter'/>
+              <xs:element ref='tns:hsqldb-jdbc-adapter'/>
+              <xs:element ref='tns:imageBasedJDBCAdaptor'/>
+              <xs:element ref='tns:informixJDBCAdapter'/>
+              <xs:element ref='tns:maxdb-jdbc-adapter'/>
+              <xs:element ref='tns:mysql-jdbc-adapter'/>
+              <xs:element ref='tns:oracleBlobJDBCAdapter'/>
+              <xs:element ref='tns:oracleJDBCAdapter'/>
+              <xs:element ref='tns:postgresql-jdbc-adapter'/>
+              <xs:element ref='tns:sqlServerJDBCAdapter'/>
+              <xs:element ref='tns:streamJDBCAdapter'/>
+              <xs:element ref='tns:sybase-jdbc-adapter'/>
+              <xs:element ref='tns:transact-jdbc-adapter'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </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='dataSource' 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='jdbcAdapter' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='journal' 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='locker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='scheduledThreadPoolExecutor' 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='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: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='adapter' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkpointInterval' type='xs:long'/>
+      <xs:attribute name='createTablesOnStartup' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not tables are created on startup
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='dataDirectory' type='xs:string'/>
+      <xs:attribute name='dataDirectoryFile' type='xs:string'/>
+      <xs:attribute name='dataSource' type='xs:string'/>
+      <xs:attribute name='jdbcAdapter' type='xs:string'/>
+      <xs:attribute name='journal' type='xs:string'/>
+      <xs:attribute name='journalArchiveDirectory' type='xs:string'/>
+      <xs:attribute name='journalLogFileSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the size of the journal log files
+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='journalLogFiles' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the number of journal log files to use
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='journalThreadPriority' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the thread priority of the journal thread
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='lockKeepAlivePeriod' type='xs:long'/>
+      <xs:attribute name='locker' type='xs:string'/>
+      <xs:attribute name='scheduledThreadPoolExecutor' type='xs:string'/>
+      <xs:attribute name='statements' type='xs:string'/>
+      <xs:attribute name='stopOnError' type='xs:boolean'/>
+      <xs:attribute name='taskRunnerFactory' type='xs:string'/>
+      <xs:attribute name='useDatabaseLock' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether or not an exclusive database lock should be used to enable
+JDBC Master/Slave. Enabled by default.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useDedicatedTaskRunner' type='xs:boolean'/>
+      <xs:attribute name='useJournal' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the use of the journal. The default is to use the
+journal
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useLock' type='xs:boolean'/>
+      <xs:attribute name='useQuickJournal' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables or disables the use of quick journal, which keeps messages in the
+journal and just stores a reference to the messages in JDBC. Defaults to
+false so that messages actually reside long term in the JDBC database.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter -->
+  <xs:element name='kahaDB'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An implementation of {@link PersistenceAdapter} designed for use with
+KahaDB - Embedded Lightweight Non-Relational Database
+      ]]></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='locker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='scheduledThreadPoolExecutor' 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='transactionIdTransformer' 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='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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='archiveCorruptedIndex' type='xs:boolean'/>
+      <xs:attribute name='archiveDataLogs' type='xs:boolean'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkForCorruptJournalFiles' type='xs:boolean'/>
+      <xs:attribute name='checkpointInterval' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the checkpointInterval
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='checksumJournalFiles' type='xs:boolean'/>
+      <xs:attribute name='cleanupInterval' type='xs:long'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the cleanupInterval
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='cleanupOnStop' type='xs:boolean'/>
+      <xs:attribute name='compactAcksAfterNoGC' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the number of GC cycles where no journal logs were removed before an attempt to
+move forward all the acks in the last log that contains them and is otherwise unreferenced.
+<p>
+A value of -1 will disable this feature.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='compactAcksIgnoresStoreGrowth' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Configure if Ack compaction will occur regardless of continued growth of the
+journal logs meaning that the store has not run out of space yet.  Because the
+compaction operation can be costly this value is defaulted to off and the Ack
+compaction is only done when it seems that the store cannot grow and larger.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='concurrentStoreAndDispatchQueues' type='xs:boolean'/>
+      <xs:attribute name='concurrentStoreAndDispatchTopics' type='xs:boolean'/>
+      <xs:attribute name='databaseLockedWaitDelay' type='xs:integer'/>
+      <xs:attribute name='directory' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the directory
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='directoryArchive' type='xs:string'/>
+      <xs:attribute name='enableAckCompaction' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Returns whether Ack compaction is enabled
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='enableIndexDiskSyncs' type='xs:boolean'/>
+      <xs:attribute name='enableIndexPageCaching' type='xs:boolean'/>
+      <xs:attribute name='enableIndexRecoveryFile' type='xs:boolean'/>
+      <xs:attribute name='enableIndexWriteAsync' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the enableIndexWriteAsync
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='enableJournalDiskSyncs' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the enableJournalDiskSyncs
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='enableSubscriptionStatistics' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Whether non-blocking subscription statistics have been enabled
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='failoverProducersAuditDepth' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            set the audit window depth for duplicate suppression (should exceed the max transaction
+batch)
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='forceRecoverIndex' type='xs:boolean'/>
+      <xs:attribute name='ignoreMissingJournalfiles' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the ignoreMissingJournalfiles
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='indexCacheSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the indexCacheSize
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='indexDirectory' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the directory where KahaDB index files should be written.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='indexLFUEvictionFactor' type='xs:float'/>
+      <xs:attribute name='indexWriteBatchSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the indexWriteBatchSize
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='journalDiskSyncInterval' type='xs:long'/>
+      <xs:attribute name='journalDiskSyncStrategy' type='xs:string'/>
+      <xs:attribute name='journalMaxFileLength' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the journalMaxFileLength
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='journalMaxWriteBatchSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the journalMaxWriteBatchSize
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='lockKeepAlivePeriod' type='xs:long'/>
+      <xs:attribute name='locker' type='xs:string'/>
+      <xs:attribute name='maxAsyncJobs' type='xs:integer'/>
+      <xs:attribute name='maxFailoverProducersToTrack' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set the max number of producers (LRU cache) to track for duplicate sends
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='preallocationScope' type='xs:string'/>
+      <xs:attribute name='preallocationStrategy' type='xs:string'/>
+      <xs:attribute name='purgeRecoveredXATransactionStrategy' type='xs:string'/>
+      <xs:attribute name='scheduledThreadPoolExecutor' type='xs:string'/>
+      <xs:attribute name='stopOnError' type='xs:boolean'/>
+      <xs:attribute name='transactionIdTransformer' type='xs:string'/>
+      <xs:attribute name='usageManager' type='xs:string'/>
+      <xs:attribute name='useIndexLFRUEviction' type='xs:boolean'/>
+      <xs:attribute name='useLock' 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.LDAPAuthorizationMap -->
+  <xs:element name='lDAPAuthorizationMap'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An {@link AuthorizationMap} which uses LDAP
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='context' 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='options' 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='queueSearchMatchingFormat' 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='topicSearchMatchingFormat' 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='adminAttribute' type='xs:string'/>
+      <xs:attribute name='adminBase' type='xs:string'/>
+      <xs:attribute name='advisorySearchBase' 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='context' type='xs:string'/>
+      <xs:attribute name='initialContextFactory' type='xs:string'/>
+      <xs:attribute name='options' type='xs:string'/>
+      <xs:attribute name='queueSearchMatchingFormat' type='xs:string'/>
+      <xs:attribute name='queueSearchSubtreeBool' type='xs:boolean'/>
+      <xs:attribute name='readAttribute' type='xs:string'/>
+      <xs:attribute name='readBase' type='xs:string'/>
+      <xs:attribute name='tempSearchBase' type='xs:string'/>
+      <xs:attribute name='topicSearchMatchingFormat' type='xs:string'/>
+      <xs:attribute name='topicSearchSubtreeBool' type='xs:boolean'/>
+      <xs:attribute name='useAdvisorySearchBase' type='xs:boolean'/>
+      <xs:attribute name='writeAttribute' type='xs:string'/>
+      <xs:attribute name='writeBase' 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.LastImageSubscriptionRecoveryPolicy -->
+  <xs:element name='lastImageSubscriptionRecoveryPolicy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        This implementation of {@link SubscriptionRecoveryPolicy} will only keep the
+last message.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='broker' 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='broker' 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.LdapNetworkConnector -->
+  <xs:element name='ldapNetworkConnector'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        class to create dynamic network connectors listed in an directory server
+using the LDAP v3 protocol as defined in RFC 2251, the entries listed in the
+directory server must implement the ipHost and ipService objectClasses as
+defined in RFC 2307.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='bridgeFactory' 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='connectionFilter' 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='durableDestinations' 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='dynamicallyIncludedDestinations' 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='excludedDestinations' 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='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='staticallyIncludedDestinations' 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='advisoryAckPercentage' type='xs:integer'/>
+      <xs:attribute name='advisoryForFailedForward' type='xs:boolean'/>
+      <xs:attribute name='advisoryPrefetchSize' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Prefetch size for advisory consumers.  Just like prefetchSize, if set, this
+value must be greater than 0 because network consumers do not poll for messages.
+Setting this to 0 or less means this value is disabled and prefetchSize will be
+used instead.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='alwaysSyncSend' type='xs:boolean'/>
+      <xs:attribute name='anonymousAuthentication' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            sets LDAP anonymous authentication access credentials
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='base' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            sets the base LDAP dn used for lookup operations
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='bridgeFactory' type='xs:string'/>
+      <xs:attribute name='bridgeTempDestinations' type='xs:boolean'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='brokerURL' type='xs:string'/>
+      <xs:attribute name='checkDuplicateMessagesOnDuplex' type='xs:boolean'/>
+      <xs:attribute name='clientIdToken' type='xs:string'/>
+      <xs:attribute name='conduitNetworkQueueSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='conduitSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='connectionFilter' type='xs:string'/>
+      <xs:attribute name='consumerPriorityBase' type='xs:integer'/>
+      <xs:attribute name='consumerTTL' type='xs:integer'/>
+      <xs:attribute name='decreaseNetworkConsumerPriority' type='xs:boolean'/>
+      <xs:attribute name='destinationFilter' type='xs:string'/>
+      <xs:attribute name='dispatchAsync' type='xs:boolean'/>
+      <xs:attribute name='duplex' type='xs:boolean'/>
+      <xs:attribute name='dynamicOnly' type='xs:boolean'/>
+      <xs:attribute name='gcDestinationViews' type='xs:boolean'/>
+      <xs:attribute name='gcSweepTime' type='xs:long'/>
+      <xs:attribute name='localUri' type='xs:string'/>
+      <xs:attribute name='messageTTL' type='xs:integer'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='networkTTL' type='xs:integer'/>
+      <xs:attribute name='objectName' type='xs:string'/>
+      <xs:attribute name='password' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            sets the LDAP password for access credentials
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='prefetchSize' type='xs:string'/>
+      <xs:attribute name='searchEventListener' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            enables/disable a persistent search to the LDAP server as defined in
+draft-ietf-ldapext-psearch-03.txt (2.16.840.1.113730.3.4.3)
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='searchFilter' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            sets the LDAP search filter as defined in RFC 2254
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='searchScope' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            sets the LDAP search scope
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='sslContext' type='xs:string'/>
+      <xs:attribute name='staticBridge' type='xs:boolean'/>
+      <xs:attribute name='suppressDuplicateQueueSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='suppressDuplicateTopicSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='syncDurableSubs' type='xs:boolean'/>
+      <xs:attribute name='uri' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            returns the next URI from the configured list
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useBrokerNameAsIdSees' type='xs:boolean'/>
+      <xs:attribute name='useCompression' type='xs:boolean'/>
+      <xs:attribute name='useVirtualDestSubs' type='xs:boolean'/>
+      <xs:attribute name='user' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            sets the LDAP user for access credentials
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.store.jdbc.LeaseDatabaseLocker -->
+  <xs:element name='lease-database-locker'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Represents an exclusive lease on a database to avoid multiple brokers running
+against the same logical database.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='dataSource' 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='lockable' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:jdbcPersistenceAdapter'/>
+              <xs:element ref='tns:journalPersistenceAdapterFactory'/>
+              <xs:element ref='tns:journaledJDBC'/>
+              <xs:element ref='tns:kahaDB'/>
+              <xs:element ref='tns:levelDB'/>
+              <xs:element ref='tns:mKahaDB'/>
+              <xs:element ref='tns:replicatedLevelDB'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <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='createTablesOnStartup' type='xs:boolean'/>
+      <xs:attribute name='dataSource' type='xs:string'/>
+      <xs:attribute name='failIfLocked' type='xs:boolean'/>
+      <xs:attribute name='handleStartException' type='xs:boolean'/>
+      <xs:attribute name='leaseHolderId' type='xs:string'/>
+      <xs:attribute name='lockAcquireSleepInterval' type='xs:long'/>
+      <xs:attribute name='lockable' type='xs:string'/>
+      <xs:attribute name='maxAllowableDiffFromDBTime' type='xs:integer'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='queryTimeout' type='xs:integer'/>
+      <xs:attribute name='statements' 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.util.LeaseLockerIOExceptionHandler -->
+  <xs:element name='leaseLockerIOExceptionHandler'>
+    <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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='ignoreAllErrors' type='xs:boolean'/>
+      <xs:attribute name='ignoreNoSpaceErrors' type='xs:boolean'/>
+      <xs:attribute name='ignoreSQLExceptions' type='xs:boolean'/>
+      <xs:attribute name='noSpaceMessage' type='xs:string'/>
+      <xs:attribute name='resumeCheckSleepPeriod' type='xs:long'/>
+      <xs:attribute name='sqlExceptionMessage' type='xs:string'/>
+      <xs:attribute name='stopStartConnectors' type='xs:boolean'/>
+      <xs:attribute name='systemExitOnShutdown' 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.leveldb.LevelDBPersistenceAdapter -->
+  <xs:element name='levelDB'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An implementation of {@link org.apache.activemq.store.PersistenceAdapter} designed for use with
+LevelDB - Embedded Lightweight Non-Relational Database
+      ]]></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='locker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='scheduledThreadPoolExecutor' 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='transactionIdTransformer' 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='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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='asyncBufferSize' type='xs:integer'/>
+      <xs:attribute name='autoCompactionRatio' type='xs:integer'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='directory' type='xs:string'/>
+      <xs:attribute name='failoverProducersAuditDepth' type='xs:integer'/>
+      <xs:attribute name='flushDelay' type='xs:integer'/>
+      <xs:attribute name='indexBlockRestartInterval' type='xs:integer'/>
+      <xs:attribute name='indexBlockSize' type='xs:integer'/>
+      <xs:attribute name='indexCacheSize' type='xs:long'/>
+      <xs:attribute name='indexCompression' type='xs:string'/>
+      <xs:attribute name='indexFactory' type='xs:string'/>
+      <xs:attribute name='indexMaxOpenFiles' type='xs:integer'/>
+      <xs:attribute name='indexWriteBufferSize' type='xs:integer'/>
+      <xs:attribute name='lockKeepAlivePeriod' type='xs:long'/>
+      <xs:attribute name='locker' type='xs:string'/>
+      <xs:attribute name='logCompression' type='xs:string'/>
+      <xs:attribute name='logDirectory' type='xs:string'/>
+      <xs:attribute name='logSize' type='xs:long'/>
+      <xs:attribute name='maxFailoverProducersToTrack' type='xs:integer'/>
+      <xs:attribute name='monitorStats' type='xs:boolean'/>
+      <xs:attribute name='paranoidChecks' type='xs:boolean'/>
+      <xs:attribute name='scheduledThreadPoolExecutor' type='xs:string'/>
+      <xs:attribute name='stopOnError' type='xs:boolean'/>
+      <xs:attribute name='sync' type='xs:boolean'/>
+      <xs:attribute name='transactionIdTransformer' type='xs:string'/>
+      <xs:attribute name='usageManager' type='xs:string'/>
+      <xs:attribute name='useLock' type='xs:boolean'/>
+      <xs:attribute name='verifyChecksums' 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.broker.util.LoggingBrokerPlugin -->
+  <xs:element name='loggingBrokerPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A simple Broker intercepter which allows you to enable/disable logging.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='adminConnectionContext' 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='next' 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='adminConnectionContext' type='xs:string'/>
+      <xs:attribute name='logAll' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Logger all Events that go through the Plugin
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='logConnectionEvents' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Logger Events that are related to connections
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='logConsumerEvents' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Logger Events that are related to Consumers
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='logInternalEvents' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Logger Events that are normally internal to the broker
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='logProducerEvents' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Logger Events that are related to Producers
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='logSessionEvents' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Logger Events that are related to sessions
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='logTransactionEvents' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Logger Events that are related to transaction processing
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='next' type='xs:string'/>
+      <xs:attribute name='perDestinationLogger' 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.kahadb.MultiKahaDBPersistenceAdapter -->
+  <xs:element name='mKahaDB'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An implementation of {@link org.apache.activemq.store.PersistenceAdapter}  that supports
+distribution of destinations across multiple kahaDB persistence adapters
+      ]]></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='filteredPersistenceAdapters' minOccurs='0' maxOccurs='unbounded'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the  FilteredKahaDBPersistenceAdapter entries
+            ]]></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='locker' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:database-locker'/>
+              <xs:element ref='tns:lease-database-locker'/>
+              <xs:element ref='tns:shared-file-locker'/>
+              <xs:element ref='tns:transact-database-locker'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='scheduledThreadPoolExecutor' 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='transactionStore' 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='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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='checkForCorruption' type='xs:boolean'/>
+      <xs:attribute name='directory' type='xs:string'/>
+      <xs:attribute name='journalCleanupInterval' type='xs:long'/>
+      <xs:attribute name='journalMaxFileLength' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set the max file length of the transaction journal
+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='journalWriteBatchSize' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Set the max write batch size of  the transaction journal
+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='lockKeepAlivePeriod' type='xs:long'/>
+      <xs:attribute name='locker' type='xs:string'/>
+      <xs:attribute name='scheduledThreadPoolExecutor' type='xs:string'/>
+      <xs:attribute name='stopOnError' type='xs:boolean'/>
+      <xs:attribute name='transactionStore' type='xs:string'/>
+      <xs:attribute name='usageManager' type='xs:string'/>
+      <xs:attribute name='useLock' 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.broker.jmx.ManagementContext -->
+  <xs:element name='managementContext'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An abstraction over JMX mbean registration
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='MBeanServer' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Get the MBeanServer
+            ]]></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='environment' 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='server' 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='MBeanServer' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the MBeanServer
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='allowRemoteAddressInMBeanNames' type='xs:boolean'/>
+      <xs:attribute name='brokerName' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Gets the broker name this context is used by, may be <tt>null</tt>
+if the broker name was not set.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='connectorHost' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Get the connectorHost
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='connectorPath' type='xs:string'/>
+      <xs:attribute name='connectorPort' type='xs:string'/>
+      <xs:attribute name='createConnector' type='xs:string'/>
+      <xs:attribute name='createMBeanServer' type='xs:boolean'/>
+      <xs:attribute name='environment' type='xs:string'/>
+      <xs:attribute name='findTigerMbeanServer' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Enables/disables the searching for the Java 5 platform MBeanServer
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='jmxDomainName' type='xs:string'/>
+      <xs:attribute name='rmiServerPort' type='xs:string'/>
+      <xs:attribute name='server' type='xs:string'/>
+      <xs:attribute name='suppressMBean' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Allow selective MBeans registration to be suppressed. Any Mbean ObjectName that matches any
+of the supplied attribute values will not be registered with the MBeanServer.
+eg: "endpoint=dynamicProducer,endpoint=Consumer" will suppress the registration of *all* dynamic producer and consumer mbeans.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='useMBeanServer' 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.MaxDBJDBCAdapter -->
+  <xs:element name='maxdb-jdbc-adapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        JDBC Adapter for the MaxDB database.
+      ]]></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.memory.MemoryPersistenceAdapter -->
+  <xs:element name='memoryPersistenceAdapter'>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='createTransactionStore' type='xs:boolean'/>
+      <xs:attribute name='directory' type='xs:string'/>
+      <xs:attribute name='usageManager' 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.usage.MemoryUsage -->
+  <xs:element name='memoryUsage'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Used to keep track of how much of something is being used so that a
+productive working set usage can be controlled. Main use case is manage
+memory usage.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='executor' 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='limiter' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:defaultUsageCapacity'/>
+              <xs:element ref='tns:usageCapacity'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='parent' 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='executor' type='xs:string'/>
+      <xs:attribute name='limit' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the memory limit in bytes. Setting the limit in bytes will set the usagePortion to 0 since the UsageManager
+is not going to be portion based off the parent. 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='limiter' type='xs:string'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='parent' type='xs:string'/>
+      <xs:attribute name='percentOfJvmHeap' type='xs:integer'/>
+      <xs:attribute name='percentUsage' type='xs:integer'/>
+      <xs:attribute name='percentUsageMinDelta' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the minimum number of percentage points the usage has to change before a UsageListener event is fired by the
+manager.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='pollingTime' type='xs:integer'/>
+      <xs:attribute name='portion' type='xs:float'/>
+      <xs:attribute name='usage' type='xs:long'/>
+      <xs:attribute name='usagePortion' type='xs:float'/>
+      <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.MessageGroupHashBucketFactory -->
+  <xs:element name='messageGroupHashBucketFactory'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A factory to create instances of {@link SimpleMessageGroupMap} 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='bucketCount' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the number of hash buckets to use for the message group
+functionality. This is only applicable to using message groups to
+parallelize processing of a queue while preserving order across an
+individual JMSXGroupID header value. This value sets the number of hash
+buckets that will be used (i.e. the maximum possible concurrency).
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.broker.region.virtual.MirroredQueue -->
+  <xs:element name='mirroredQueue'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Creates <a href="http://activemq.org/site/mirrored-queues.html">Mirrored
+Queue</a> using a prefix and postfix to define the topic name on which to mirror the queue to.
+      ]]></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:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </xs:choice></xs:choice>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='copyMessage' type='xs:boolean'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets whether a copy of the message will be sent to each destination.
+Defaults to true so that the forward destination is set as the
+destination of the message
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='postfix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets any postix used to identify the queue consumers
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='prefix' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the prefix wildcard used to identify the queue consumers for a given
+topic
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='id' type='xs:ID'/>
+      <xs:anyAttribute namespace='##other' processContents='lax'/>
+    </xs:complexType>
+  </xs:element>
+
+
+  <!-- element for type: org.apache.activemq.network.MulticastNetworkConnector -->
+  <xs:element name='multicastNetworkConnector'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A network connector which uses some kind of multicast-like transport that
+communicates with potentially many remote brokers over a single logical
+{@link Transport} instance such as when using multicast.
+
+This implementation does not depend on multicast at all; any other group
+based transport could be used.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='bridge' minOccurs='0' maxOccurs='1'>
+          <xs:complexType>
+            <xs:choice minOccurs='0' maxOccurs='1'>
+              <xs:element ref='tns:compositeDemandForwardingBridge'/>
+              <xs:element ref='tns:demandForwardingBridge'/>
+              <xs:any namespace='##other'/>
+            </xs:choice>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name='bridgeFactory' 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='connectionFilter' 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='durableDestinations' 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='dynamicallyIncludedDestinations' 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='excludedDestinations' 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='localTransport' 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='remoteTransport' minOccurs='0' maxOccurs='1'>
+          <xs:annotation>
+            <xs:documentation><![CDATA[
+              Sets the remote transport implementation
+            ]]></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='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='staticallyIncludedDestinations' 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='advisoryAckPercentage' type='xs:integer'/>
+      <xs:attribute name='advisoryForFailedForward' type='xs:boolean'/>
+      <xs:attribute name='advisoryPrefetchSize' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Prefetch size for advisory consumers.  Just like prefetchSize, if set, this
+value must be greater than 0 because network consumers do not poll for messages.
+Setting this to 0 or less means this value is disabled and prefetchSize will be
+used instead.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='alwaysSyncSend' type='xs:boolean'/>
+      <xs:attribute name='bridge' type='xs:string'/>
+      <xs:attribute name='bridgeFactory' type='xs:string'/>
+      <xs:attribute name='bridgeTempDestinations' type='xs:boolean'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='brokerURL' type='xs:string'/>
+      <xs:attribute name='checkDuplicateMessagesOnDuplex' type='xs:boolean'/>
+      <xs:attribute name='clientIdToken' type='xs:string'/>
+      <xs:attribute name='conduitNetworkQueueSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='conduitSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='connectionFilter' type='xs:string'/>
+      <xs:attribute name='consumerPriorityBase' type='xs:integer'/>
+      <xs:attribute name='consumerTTL' type='xs:integer'/>
+      <xs:attribute name='decreaseNetworkConsumerPriority' type='xs:boolean'/>
+      <xs:attribute name='destinationFilter' type='xs:string'/>
+      <xs:attribute name='dispatchAsync' type='xs:boolean'/>
+      <xs:attribute name='duplex' type='xs:boolean'/>
+      <xs:attribute name='dynamicOnly' type='xs:boolean'/>
+      <xs:attribute name='gcDestinationViews' type='xs:boolean'/>
+      <xs:attribute name='gcSweepTime' type='xs:long'/>
+      <xs:attribute name='localTransport' type='xs:string'/>
+      <xs:attribute name='localUri' type='xs:string'/>
+      <xs:attribute name='messageTTL' type='xs:integer'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='networkTTL' type='xs:integer'/>
+      <xs:attribute name='objectName' type='xs:string'/>
+      <xs:attribute name='password' type='xs:string'/>
+      <xs:attribute name='prefetchSize' type='xs:string'/>
+      <xs:attribute name='remoteTransport' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the remote transport implementation
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='remoteURI' type='xs:string'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the remote transport URI to some group transport like
+<code>multicast://address:port</code>
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='sslContext' type='xs:string'/>
+      <xs:attribute name='staticBridge' type='xs:boolean'/>
+      <xs:attribute name='suppressDuplicateQueueSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='suppressDuplicateTopicSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='syncDurableSubs' type='xs:boolean'/>
+      <xs:attribute name='useBrokerNameAsIdSees' type='xs:boolean'/>
+      <xs:attribute name='useCompression' type='xs:boolean'/>
+      <xs:attribute name='useVirtualDestSubs' type='xs:boolean'/>
+      <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.broker.util.MulticastTraceBrokerPlugin -->
+  <xs:element name='multicastTraceBrokerPlugin'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A Broker interceptor which allows you to trace all operations to a Multicast
+socket.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='address' 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='adminConnectionContext' 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='next' 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='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:element name='wireFormatFactory' 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='address' type='xs:string'/>
+      <xs:attribute name='adminConnectionContext' type='xs:string'/>
+      <xs:attribute name='broadcast' type='xs:boolean'/>
+      <xs:attribute name='destination' type='xs:string'/>
+      <xs:attribute name='maxTraceDatagramSize' type='xs:integer'/>
+      <xs:attribute name='next' type='xs:string'/>
+      <xs:attribute name='timeToLive' type='xs:integer'/>
+      <xs:attribute name='wireFormat' type='xs:string'/>
+      <xs:attribute name='wireFormatFactory' 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.MySqlJDBCAdapter -->
+  <xs:element name='mysql-jdbc-adapter'>
+    <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='engineType' type='xs:string'/>
+      <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='typeStatement' 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.network.DiscoveryNetworkConnector -->
+  <xs:element name='networkConnector'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        A network connector which uses a discovery agent to detect the remote brokers
+available and setup a connection to each available remote broker
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='bridgeFactory' 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='connectionFilter' 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='discoveryAgent' 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='durableDestinations' 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='dynamicallyIncludedDestinations' 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='excludedDestinations' 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='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='staticallyIncludedDestinations' 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='advisoryAckPercentage' type='xs:integer'/>
+      <xs:attribute name='advisoryForFailedForward' type='xs:boolean'/>
+      <xs:attribute name='advisoryPrefetchSize' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Prefetch size for advisory consumers.  Just like prefetchSize, if set, this
+value must be greater than 0 because network consumers do not poll for messages.
+Setting this to 0 or less means this value is disabled and prefetchSize will be
+used instead.
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name='alwaysSyncSend' type='xs:boolean'/>
+      <xs:attribute name='bridgeFactory' type='xs:string'/>
+      <xs:attribute name='bridgeTempDestinations' type='xs:boolean'/>
+      <xs:attribute name='brokerName' type='xs:string'/>
+      <xs:attribute name='brokerService' type='xs:string'/>
+      <xs:attribute name='brokerURL' type='xs:string'/>
+      <xs:attribute name='checkDuplicateMessagesOnDuplex' type='xs:boolean'/>
+      <xs:attribute name='clientIdToken' type='xs:string'/>
+      <xs:attribute name='conduitNetworkQueueSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='conduitSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='connectionFilter' type='xs:string'/>
+      <xs:attribute name='consumerPriorityBase' type='xs:integer'/>
+      <xs:attribute name='consumerTTL' type='xs:integer'/>
+      <xs:attribute name='decreaseNetworkConsumerPriority' type='xs:boolean'/>
+      <xs:attribute name='destinationFilter' type='xs:string'/>
+      <xs:attribute name='discoveryAgent' type='xs:string'/>
+      <xs:attribute name='discoveryURI' type='xs:string'/>
+      <xs:attribute name='dispatchAsync' type='xs:boolean'/>
+      <xs:attribute name='duplex' type='xs:boolean'/>
+      <xs:attribute name='dynamicOnly' type='xs:boolean'/>
+      <xs:attribute name='gcDestinationViews' type='xs:boolean'/>
+      <xs:attribute name='gcSweepTime' type='xs:long'/>
+      <xs:attribute name='localUri' type='xs:string'/>
+      <xs:attribute name='messageTTL' type='xs:integer'/>
+      <xs:attribute name='name' type='xs:string'/>
+      <xs:attribute name='networkTTL' type='xs:integer'/>
+      <xs:attribute name='objectName' type='xs:string'/>
+      <xs:attribute name='password' type='xs:string'/>
+      <xs:attribute name='prefetchSize' type='xs:string'/>
+      <xs:attribute name='sslContext' type='xs:string'/>
+      <xs:attribute name='staticBridge' type='xs:boolean'/>
+      <xs:attribute name='suppressDuplicateQueueSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='suppressDuplicateTopicSubscriptions' type='xs:boolean'/>
+      <xs:attribute name='syncDurableSubs' type='xs:boolean'/>
+      <xs:attribute name='uri' type='xs:string'/>
+      <xs:attribute name='useBrokerNameAsIdSees' type='xs:boolean'/>
+      <xs:attribute name='useCompression' type='xs:boolean'/>
+      <xs:attribute name='useVirtualDestSubs' type='xs:boolean'/>
+      <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.broker.region.policy.NoSubscriptionRecoveryPolicy -->
+  <xs:element name='noSubscriptionRecoveryPolicy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        This SubscriptionRecoveryPolicy disable recovery of messages.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded"><xs:choice>
+        <xs:element name='broker' 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='broker' 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.OldestMessageEvictionStrategy -->
+  <xs:element name='oldestMessageEvictionStrategy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An eviction strategy which evicts the oldest message first (which is the
+default).
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='evictExpiredMessagesHighWatermark' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the high water mark on which we will eagerly evict expired messages from RAM
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.OldestMessageWithLowestPriorityEvictionStrategy -->
+  <xs:element name='oldestMessageWithLowestPriorityEvictionStrategy'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        An eviction strategy which evicts the oldest message with the lowest priority first.
+      ]]></xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name='evictExpiredMessagesHighWatermark' type='xs:integer'>
+        <xs:annotation>
+          <xs:documentation><![CDATA[
+            Sets the high water mark on which we will eagerly evict expired messages from RAM
+          ]]></xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <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.OracleBlobJDBCAdapter -->
+  <xs:element name='oracleBlobJDBCAdapter'>
+    <xs:annotation>
+      <xs:documentation><![CDATA[
+        Implements all the default JDBC operations that are used
+by the JDBCPersistenceAdapter.
+<p/>
+Subclassing is encouraged to override the default
+implementation of methods to account for differences
+in JDBC Driver implementations.
+<p/>
+The JDBCAdapter inserts and extracts BLOB data using the
+getBytes()/setBytes() operations.
+<p/>
+The databases/JDBC drivers that use this adapter are:
... 17880 lines suppressed ...