<!-- NOTE: this file is autogenerated by XBeans -->
<html>
<head>
<title>Schema for namespace: http://activemq.org/config/1.0</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 which consists of a number of transport connectors, network connectors and a persistence adaptor</td><td>org.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='#broker'>broker</a></td><td>An ActiveMQ Message Broker which consists of a number of transport connectors, network connectors and a persistence adaptor</td><td>org.activemq.xbean.XBeanBrokerService</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.activemq.network.DemandForwardingBridge</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.activemq.broker.region.policy.FixedSizedSubscriptionRecoveryPolicy</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.activemq.network.ForwardingBridge</td></tr>
  <tr><td><a href='#inboundQueueBridge'>inboundQueueBridge</a></td><td>Create an Inbound Queue Bridge</td><td>org.activemq.network.jms.InboundQueueBridge</td></tr>
  <tr><td><a href='#inboundTopicBridge'>inboundTopicBridge</a></td><td>Create an Inbound Topic Bridge</td><td>org.activemq.network.jms.InboundTopicBridge</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.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.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.activemq.network.jms.JmsTopicConnector</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.activemq.store.journal.JournalPersistenceAdapter</td></tr>
  <tr><td><a href='#journaledJDBC'>journaledJDBC</a></td><td>Creates a default persistence model using the Journal and JDBC</td><td>org.activemq.store.PersistenceAdapterFactoryBean</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.activemq.broker.region.policy.LastImageSubscriptionRecoveryPolicy</td></tr>
  <tr><td><a href='#managementContext'>managementContext</a></td><td>A Flow provides different dispatch policies within the NMR</td><td>org.activemq.broker.jmx.ManagementContext</td></tr>
  <tr><td><a href='#memoryPersistenceAdapter'>memoryPersistenceAdapter</a></td><td></td><td>org.activemq.store.memory.MemoryPersistenceAdapter</td></tr>
  <tr><td><a href='#networkConnector'>networkConnector</a></td><td></td><td>org.activemq.network.NetworkConnector</td></tr>
  <tr><td><a href='#noSubscriptionRecoveryPolicy'>noSubscriptionRecoveryPolicy</a></td><td>This is the default Topic recovery policy which does not recover any messages.</td><td>org.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy</td></tr>
  <tr><td><a href='#outboundQueueBridge'>outboundQueueBridge</a></td><td>Create an Outbound Queue Bridge</td><td>org.activemq.network.jms.OutboundQueueBridge</td></tr>
  <tr><td><a href='#outboundTopicBridge'>outboundTopicBridge</a></td><td>Create an Outbound Topic Bridge</td><td>org.activemq.network.jms.OutboundTopicBridge</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 hierarchial wildcard area of destinations.</td><td>org.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.activemq.broker.region.policy.PolicyMap</td></tr>
  <tr><td><a href='#proxyConnector'>proxyConnector</a></td><td></td><td>org.activemq.proxy.ProxyConnector</td></tr>
  <tr><td><a href='#quickJournalPersistenceAdapter'>quickJournalPersistenceAdapter</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.activemq.store.journal.QuickJournalPersistenceAdapter</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.activemq.broker.region.policy.RoundRobinDispatchPolicy</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.activemq.broker.region.policy.SimpleDispatchPolicy</td></tr>
  <tr><td><a href='#simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></td><td>Converts Message from one JMS to another</td><td>org.activemq.network.jms.SimpleJmsMessageConvertor</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.activemq.broker.region.policy.StrictOrderDispatchPolicy</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.activemq.broker.region.policy.TimedSubscriptionRecoveryPolicy</td></tr>
  <tr><td><a href='#transportConnector'>transportConnector</a></td><td></td><td>org.activemq.broker.TransportConnector</td></tr>
  <tr><td><a href='#usageManager'>usageManager</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.activemq.memory.UsageManager</td></tr>
</table>


<h1>Element Detail</h1>
<h2>Element: <a name='broker'>broker</a></h2>
<table>
  <tr><th>Attribute</th><th>Type</th><th>Description</th>
  <tr><td>start</td><td>xs:boolean</td><td></td></tr>
</table>
<table>
  <tr><th>Element</th><th>Type</th><th>Description</th>
  <tr><td>abstractApplicationContext</td><td>&lt;spring:bean/&gt;</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>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>
</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>remoteBroker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
</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>buffer</td><td>&lt;spring:bean/&gt;</td><td></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>
</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>remoteBroker</td><td>&lt;spring:bean/&gt;</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>inboundQueueName</td><td>xs:string</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>inboundTopicName</td><td>xs:string</td><td></td></tr>
</table>
<h2>Element: <a name='jdbcPersistenceAdapter'>jdbcPersistenceAdapter</a></h2>
<table>
  <tr><th>Attribute</th><th>Type</th><th>Description</th>
  <tr><td>adapterClass</td><td>xs:string</td><td></td></tr>
  <tr><td>cleanupPeriod</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>adapter</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>dataSource</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>ds</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>scheduledThreadPoolExecutor</td><td>&lt;spring:bean/&gt;</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>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>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>replyToDestinationCacheSize</td><td>xs:integer</td><td></td></tr>
</table>
<table>
  <tr><th>Element</th><th>Type</th><th>Description</th>
  <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>&lt;spring:bean/&gt;</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>&lt;spring:bean/&gt;</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>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>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>replyToDestinationCacheSize</td><td>xs:integer</td><td></td></tr>
</table>
<table>
  <tr><th>Element</th><th>Type</th><th>Description</th>
  <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>&lt;spring:bean/&gt;</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>&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>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>journal</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>longTermPersistence</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>memManager</td><td><a href='#usageManager'>usageManager</a></td><td></td></tr>
  <tr><td>taskRunnerFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
</table>
<h2>Element: <a name='journaledJDBC'>journaledJDBC</a></h2>
<h2>Element: <a name='lastImageSubscriptionRecoveryPolicy'>lastImageSubscriptionRecoveryPolicy</a></h2>
<h2>Element: <a name='managementContext'>managementContext</a></h2>
<table>
  <tr><th>Attribute</th><th>Type</th><th>Description</th>
  <tr><td>connectorPath</td><td>xs:string</td><td></td></tr>
  <tr><td>connectorPort</td><td>xs:integer</td><td></td></tr>
  <tr><td>createConnector</td><td>xs:boolean</td><td></td></tr>
  <tr><td>createMBeanServer</td><td>xs:boolean</td><td></td></tr>
  <tr><td>jmxDomainName</td><td>xs:string</td><td></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>server</td><td>&lt;spring:bean/&gt;</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>useExternalMessageReferences</td><td>xs:boolean</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>brokerName</td><td>xs:string</td><td></td></tr>
  <tr><td>localURI</td><td>xsd:string</td><td></td></tr>
  <tr><td>localUri</td><td>xsd:string</td><td></td></tr>
  <tr><td>uri</td><td>xsd:string</td><td></td></tr>
</table>
<table>
  <tr><th>Element</th><th>Type</th><th>Description</th>
  <tr><td>discoveryAgent</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
</table>
<h2>Element: <a name='noSubscriptionRecoveryPolicy'>noSubscriptionRecoveryPolicy</a></h2>
<h2>Element: <a name='outboundQueueBridge'>outboundQueueBridge</a></h2>
<table>
  <tr><th>Attribute</th><th>Type</th><th>Description</th>
  <tr><td>outboundQueueName</td><td>xs:string</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>outboundTopicName</td><td>xs:string</td><td></td></tr>
</table>
<h2>Element: <a name='policyEntry'>policyEntry</a></h2>
<table>
  <tr><th>Element</th><th>Type</th><th>Description</th>
  <tr><td>dispatchPolicy</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>redeliveryPolicy</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>subscriptionRecoveryPolicy</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
</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>policyEntries</td><td>(&lt;spring:bean/&gt;)*</td><td>Sets the individual entries on the policy map</td></tr>
</table>
<h2>Element: <a name='proxyConnector'>proxyConnector</a></h2>
<table>
  <tr><th>Attribute</th><th>Type</th><th>Description</th>
  <tr><td>bind</td><td>xsd:string</td><td></td></tr>
  <tr><td>localUri</td><td>xsd:string</td><td></td></tr>
  <tr><td>remote</td><td>xsd: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='quickJournalPersistenceAdapter'>quickJournalPersistenceAdapter</a></h2>
<table>
  <tr><th>Attribute</th><th>Type</th><th>Description</th>
  <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>journal</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>longTermPersistence</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>memManager</td><td><a href='#usageManager'>usageManager</a></td><td></td></tr>
  <tr><td>taskRunnerFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
</table>
<h2>Element: <a name='roundRobinDispatchPolicy'>roundRobinDispatchPolicy</a></h2>
<h2>Element: <a name='simpleDispatchPolicy'>simpleDispatchPolicy</a></h2>
<h2>Element: <a name='simpleJmsMessageConvertor'>simpleJmsMessageConvertor</a></h2>
<h2>Element: <a name='strictOrderDispatchPolicy'>strictOrderDispatchPolicy</a></h2>
<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>
<h2>Element: <a name='transportConnector'>transportConnector</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>uri</td><td>xsd: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>
</table>
<table>
  <tr><th>Element</th><th>Type</th><th>Description</th>
  <tr><td>broker</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>brokerInfo</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>server</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
  <tr><td>taskRunnerFactory</td><td>&lt;spring:bean/&gt;</td><td></td></tr>
</table>
<h2>Element: <a name='usageManager'>usageManager</a></h2>
<table>
  <tr><th>Attribute</th><th>Type</th><th>Description</th>
  <tr><td>limit</td><td>xs:long</td><td></td></tr>
  <tr><td>percentUsage</td><td>xs:integer</td><td></td></tr>
  <tr><td>percentUsageMinDelta</td><td>xs:integer</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>
</table>
<table>
  <tr><th>Element</th><th>Type</th><th>Description</th>
  <tr><td>parent</td><td><a href='#usageManager'>usageManager</a></td><td></td></tr>
</table>

</body>
</html>
