| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- |
| Tune ActiveMQ broker for high throughput of messages |
| Be sure to make necessary changes in your producer and consumer, since there you can make the most notable difference |
| |
| For more information, see: |
| http://activemq.apache.org/performance-tuning.html |
| |
| To run ActiveMQ with this configuration add xbean:conf/activemq-throughput.xml to your command |
| e.g. $ bin/activemq console xbean:conf/activemq-throughput.xml |
| --> |
| <beans |
| xmlns="http://www.springframework.org/schema/beans" |
| xmlns:amq="http://activemq.apache.org/schema/core" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd |
| http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> |
| |
| <!-- Allows us to use system properties as variables in this configuration file --> |
| <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> |
| |
| <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.base}/data" useJmx="false" advisorySupport="false"> |
| |
| <!-- |
| Use VM cursor |
| For more information, see: |
| http://activemq.apache.org/message-cursors.html |
| --> |
| <destinationPolicy> |
| <policyMap> |
| <policyEntries> |
| <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb"> |
| <pendingSubscriberPolicy> |
| <vmCursor /> |
| </pendingSubscriberPolicy> |
| </policyEntry> |
| <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> |
| <pendingQueuePolicy> |
| <vmQueueCursor/> |
| </pendingQueuePolicy> |
| </policyEntry> |
| </policyEntries> |
| </policyMap> |
| </destinationPolicy> |
| |
| <!-- |
| Use KahaDB for persistence |
| Tune it a bit so we minimize IO operations |
| For more information, see: |
| http://activemq.apache.org/kahadb.html |
| --> |
| <persistenceAdapter> |
| <kahaDB directory="${activemq.base}/data/kahadb" enableJournalDiskSyncs="false" indexWriteBatchSize="10000" indexCacheSize="1000"/> |
| </persistenceAdapter> |
| |
| <!-- |
| Use TCP transport |
| For more information, see: |
| http://activemq.apache.org/configuring-transports.html |
| --> |
| <transportConnectors> |
| <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/> |
| </transportConnectors> |
| |
| </broker> |
| |
| </beans> |