<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.
-->

<!-- START SNIPPET: spring -->
<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">
  
  <bean id="store" class="org.apache.activemq.store.kahadb.KahaDBStore" >
      <property name="directory" value="target/amqdata/kahadb" />
      <property name="journalMaxFileLength" value="1000000" />
      <property name="checkpointInterval" value="5000" />
      <property name="cleanupInterval" value="5000" />

      <property name="indexWriteBatchSize" value="100" />
      <property name="enableIndexWriteAsync" value="true" />

    </bean>

    <amq:broker
          persistent="true"
          advisorySupport="false"
          dataDirectory="target/amqdata"
          deleteAllMessagesOnStartup="true"
          useJmx="true"
          brokerName="localhost"
          monitorConnectionSplits="false"
          splitSystemUsageForProducersConsumers="false"
          start="false"
          persistenceAdapter="#store">
          
    <amq:transportConnectors>
      <amq:transportConnector uri="tcp://localhost:0" />
    </amq:transportConnectors>
  </amq:broker>
  
</beans>