Exception on setting "sendFailIfNoSpaceAfterTimeout"
----------------------------------------------------

                 Key: AMQ-2634
                 URL: https://issues.apache.org/activemq/browse/AMQ-2634
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.3.0
            Reporter: Marc Schöchlin
            Priority: Critical


I added the follwing configuration to my broker:
---
<systemUsage>
 <systemUsage sendFailIfNoSpaceAfterTimeout="3000">
   <memoryUsage>
     <memoryUsage limit="20 mb"/>
   </memoryUsage>
 </systemUsage>
</systemUsage>
---

I get the following exceptions:
(after removing sendFailIfNoSpaceAfterTimeout the broker start properly)
---
# /etc/init.d/activemq fgstart                                                  
                                                                                
                                                                      
INFO: loading '/etc/default/activemq'                                           
                                                                                
                                                                      
INFO: useing java '/usr/bin/java'                                               
                                                                                
                                                                      
INFO: starting in foreground, this is just for debugging purposes (stop process 
by pressing CTRL+c)                                                             
                                                                      
INFO: changing to user 'activemq' to invoke java                                
                                                                                
                                                                      
Java Runtime: IBM Corporation 1.6.0 /usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre     
                                                                                
                                                                      
  Heap sizes: current=131072k  free=126099k  max=1048576k                       
                                                                                
                                                                      
    JVM args: -Xjcl:jclscar_24 
-Dcom.ibm.oti.vm.bootstrap.library.path=/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre/lib/amd64/default:/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre/lib/amd64
 
-Dsun.boot.library.path=/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre/lib/amd64/default:/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre/lib/amd64
 
-Djava.library.path=/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre/lib/amd64/default:/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre/lib/amd64:/usr/lib
 -Djava.home=/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre 
-Djava.ext.dirs=/usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre/lib/ext 
-Duser.dir=/srv/activemq/conf _j2se_j9=1119744 -Xdump -Djava.class.path=. 
-Xms128M -Xmx1024M -Dorg.apache.activemq.UseDedicatedTaskRunner=true 
-Djava.util.logging.config.file=logging.properties 
-Dcom.sun.management.jmxremote.port=11099 
-Dcom.sun.management.jmxremote.password.file=/srv/activemq/conf/jmx.password 
-Dcom.sun.management.jmxremote.access.file=/srv/activemq/conf/jmx.access 
-Dcom.sun.management.jmxremote.ssl=false 
-Djava.rmi.server.hostname=10.130.18.244 -Dcom.sun.management.jmxremote 
-Dcom.sun.management.snmp.port=30000 
-Dcom.sun.management.snmp.interface=0.0.0.0 
-Dcom.sun.management.snmp.acl.file=/srv/activemq/conf/snmp.acl 
-Dactivemq.classpath=/srv/activemq/conf/; 
-Dactivemq.home=/srv/activemq/install/apache-activemq 
-Dactivemq.base=/srv/activemq/install/apache-activemq 
-Djava.class.path=/srv/activemq/install/apache-activemq/bin/run.jar 
-Dsun.java.command=/srv/activemq/install/apache-activemq/bin/run.jar start 
-Dsun.java.launcher=SUN_STANDARD -Dsun.java.launcher.pid=25854 _port_library 
_org.apache.harmony.vmi.portlib  
ACTIVEMQ_HOME: /srv/activemq/install/apache-activemq                            
                                                                                
                                                                      
ACTIVEMQ_BASE: /srv/activemq/install/apache-activemq                            
                                                                                
                                                                      
Loading message broker from: xbean:activemq.xml                                 
                                                                                
                                                                      
ERROR: java.lang.RuntimeException: Failed to execute start task. Reason: 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in file 
[/srv/activemq/conf/activemq.xml]: Cannot create inner bean '(inner bean)' of 
type [org.apache.activemq.usage.SystemUsage] while setting bean property 
'systemUsage'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?                                                                         
                                                                                
                                                     
java.lang.RuntimeException: Failed to execute start task. Reason: 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in file 
[/srv/activemq/conf/activemq.xml]: Cannot create inner bean '(inner bean)' of 
type [org.apache.activemq.usage.SystemUsage] while setting bean property 
'systemUsage'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?                                                                         
                                                                                
                                                            
        at 
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:98)  
                                                                                
                                                           
        at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
                                                                                
                                                       
        at 
org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129) 
                                                                                
                                                           
        at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
                                                                                
                                                       
        at 
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79)     
                                                                                
                                                           
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)          
                                                                                
                                                                      
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)   
                                                                                
                                                           
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
                                                                                
                                                      
        at java.lang.reflect.Method.invoke(Method.java:599)                     
                                                                                
                                                                      
        at org.apache.activemq.console.Main.runTaskClass(Main.java:251)         
                                                                                
                                                                      
        at org.apache.activemq.console.Main.main(Main.java:107)                 
                                                                                
                                                                      
Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' 
defined in file [/srv/activemq/conf/activemq.xml]: Cannot create inner bean 
'(inner bean)' of type [org.apache.activemq.usage.SystemUsage] while setting 
bean property 'systemUsage'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?                                      
        at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
                                                                                
               
        at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
                                                                                
        
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
                                                                             
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
                                                                                
    
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
                                                                                
     
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
                                                                                
            
        at 
java.security.AccessController.doPrivileged(AccessController.java:224)          
                                                                                
                                                           
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
                                                                                
       
        at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
                                                                                
                                    
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
                                                                                
                 
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
                                                                                
                                      
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
                                                                                
                                        
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
                                                                                
                                        
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
                                                                                
         
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
                                                                                
        
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
                                                                                
                                
        at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
                                                                                
                                
        at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
                                                                                
                                
        at 
org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
                                                                                
                                          
        at 
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
                                                                                
                                                      
        at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)    
                                                                                
                                                           
        at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)    
                                                                                
                                                           
        at 
org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
                                                                                
                                                        
        at 
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)  
                                                                                
                                                           
        ... 10 more                                                             
                                                                                
                                                                      
Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name '(inner bean)' defined in file 
[/srv/activemq/conf/activemq.xml]: Error setting property values; nested 
exception is org.springframework.beans.NotWritablePropertyException: Invalid 
property 'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?                                                                         
                                                                         
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
                                                                             
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
                                                                                
    
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
                                                                                
     
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
                                                                                
            
        at 
java.security.AccessController.doPrivileged(AccessController.java:224)          
                                                                                
                                                           
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
                                                                                
       
        at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
                                                                                
               
        ... 33 more                                                             
                                                                                
                                                                      
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid 
property 'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?                                                                         
                                               
        at 
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:801)
                                                                                
                                                       
        at 
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
                                                                                
                                                       
        at 
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
                                                                                
                                     
        at 
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
                                                                                
                                     
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
        ... 39 more
ERROR: java.lang.Exception: 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in file 
[/srv/activemq/conf/activemq.xml]: Cannot create inner bean '(inner bean)' of 
type [org.apache.activemq.usage.SystemUsage] while setting bean property 
'systemUsage'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?
java.lang.Exception: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' 
defined in file [/srv/activemq/conf/activemq.xml]: Cannot create inner bean 
'(inner bean)' of type [org.apache.activemq.usage.SystemUsage] while setting 
bean property 'systemUsage'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?
        at 
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:99)
        at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at 
org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129)
        at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at 
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:599)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:251)
        at org.apache.activemq.console.Main.main(Main.java:107)
Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' 
defined in file [/srv/activemq/conf/activemq.xml]: Cannot create inner bean 
'(inner bean)' of type [org.apache.activemq.usage.SystemUsage] while setting 
bean property 'systemUsage'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?
        at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
        at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at 
java.security.AccessController.doPrivileged(AccessController.java:224)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
        at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
        at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
        at 
org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
        at 
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
        at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
        at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
        at 
org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
        at 
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
        ... 10 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name '(inner bean)' defined in file 
[/srv/activemq/conf/activemq.xml]: Error setting property values; nested 
exception is org.springframework.beans.NotWritablePropertyException: Invalid 
property 'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at 
java.security.AccessController.doPrivileged(AccessController.java:224)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
        ... 33 more
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid 
property 'sendFailIfNoSpaceAfterTimeout' of bean class 
[org.apache.activemq.usage.SystemUsage]: Bean property 
'sendFailIfNoSpaceAfterTimeout' is not writable or has an invalid setter 
method. Does the parameter type of the setter match the return type of the 
getter?
        at 
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:801)
        at 
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
        at 
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
        at 
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
        ... 39 more
---

My activemq.xml:
---                                                                
<!--                                                                            
          
    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.                                              
          
-->                                                                             
          
<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">
        <property name="locations">                                             
         
            <value>file:${activemq.base}/conf/credentials.properties</value>    
         
        </property>                                                             
         
    </bean>                                                                     
         

    <!-- 
        The <broker> element is used to configure the ActiveMQ broker. 
    -->                                                                
    <broker xmlns="http://activemq.apache.org/schema/core"; 
brokerName="localhost" dataDirectory="${activemq.base}/data" >
                                                                                
                                         
<!--                                                                            
                                         
         <systemUsage>                                                          
                                         
           <systemUsage sendFailIfNoSpaceAfterTimeout="3000">                   
                                         
             <memoryUsage>                                                      
                                         
               <memoryUsage limit="700 mb"/>                                    
                                         
             </memoryUsage>                                                     
                                         
             <storeUsage>                                                       
                                         
               <storeUsage limit="1 gb" name="foo"/>                            
                                         
             </storeUsage>                                                      
                                         
             <tempUsage>                                                        
                                         
               <tempUsage limit="1 gb"/>                                        
                                         
             </tempUsage>                                                       
                                         
           </systemUsage>                                                       
                                         
         </systemUsage>                                                         
                                         
-->                                                                             
                                         

<systemUsage>
 <systemUsage sendFailIfNoSpaceAfterTimeout="3000"> 
   <memoryUsage>                                    
     <memoryUsage limit="20 mb"/>                   
   </memoryUsage>                                   
 </systemUsage>                                     
</systemUsage>                                      

        <!-- 
            The managementContext is used to configure how ActiveMQ is exposed 
in 
            JMX. By default, ActiveMQ uses the MBean server that is started by  
  
            the JVM. For more information, see:                                 
  
                                                                                
  
            http://activemq.apache.org/jmx.html                                 
  
        -->                                                                     
  
        <managementContext>                                                     
  
            <managementContext createConnector="false"/>                        
  
        </managementContext>                                                    
  

        <!-- 
            Configure message persistence for the broker. The default 
persistence
            mechanism is the KahaDB store (identified by the kahaDB tag).       
 
            For more information, see:                                          
 
                                                                                
 
            http://activemq.apache.org/persistence.html                         
 
        -->                                                                     
 
        <persistenceAdapter>                                                    
 
            <kahaDB directory="${activemq.base}/data/kahadb"/>                  
 
        </persistenceAdapter>                                                   
 
                                                                                
 
                                                                                
 
        <!--                                                                    
 
                        For better performances use VM cursor and small memory 
limit.
                        For more information, see:                              
     
                                                                                
     
            http://activemq.apache.org/message-cursors.html                     
     
                                                                                
     
            Also, if your producer is "hanging", it's probably due to producer 
flow control.
            For more information, see:                                          
            
            http://activemq.apache.org/producer-flow-control.html               
            
        -->                                                                     
            
                                                                                
            
        <destinationPolicy>                                                     
            
            <policyMap>                                                         
            
              <policyEntries>                                                   
            


                <policyEntry topic=">" producerFlowControl="false" 
memoryLimit="1mb">

                  <deadLetterStrategy>
                    <!--              
                      Use the prefix 'DLQ.' for the destination name, and make
                      the DLQ a queue rather than a topic                     
                    -->                                                       
                    <individualDeadLetterStrategy                             
                      queuePrefix="DLQ." useQueueForQueueMessages="true" />   
                  </deadLetterStrategy>

                  <pendingSubscriberPolicy>
                    <vmCursor />
                  </pendingSubscriberPolicy>
                </policyEntry>
                <policyEntry queue=">" producerFlowControl="false" 
memoryLimit="1mb">
                  <!-- Use VM cursor for better latency
                       For more information, see:

                       http://activemq.apache.org/message-cursors.html

                  <pendingQueuePolicy>
                    <vmQueueCursor/>
                  </pendingQueuePolicy>
                  -->
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>

         <!--
            The systemUsage controls the maximum amount of space the broker will
            use before slowing down producers. For more information, see:

            nfigur
            http://activemq.apache.org/producer-flow-control.html

        <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="20 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="1 gb" name="foo"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="100 mb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>
                -->

        <!--
            The transport connectors expose ActiveMQ over a given protocol to
            clients and other brokers. For more information, see:

            http://activemq.apache.org/configuring-transports.html
        -->
        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
        </transportConnectors>

    </broker>

    <!--
        Uncomment to enable Camel
        Take a look at activemq-camel.xml for more details

    <import resource="camel.xml"/>
    -->

    <!--
        Enable web consoles, REST and Ajax APIs and demos
        Take a look at activemq-jetty.xml for more details
    -->
    <import resource="jetty.xml"/>

</beans>
---


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to