kahaDB: maxCheckpointMessageAddSize not accepted
------------------------------------------------

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


I configured the following persintence adapter:

{code}
<persistenceAdapter>
   <kahaDB directory="/srv/activemq/work/data" 
                    journalMaxFileLength="32mb" indexWriteBatchSize="10000" 
                    indexCacheSize="1000" maxCheckpointMessageAddSize="100"/>
</persistenceAdapter>
{code}

According to http://activemq.apache.org/kahadb.html the parameter 
maxCheckpointMessageAddSize should be usable.

If i startup the message broker i get the follwing exceptions:
{code}
# /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
INFO: Pushing the following environment Variables to JVM
INFO:  IBM_HEAPDUMPDIR='/var/log/activemq/' IBM_COREDIR='/var/log/activemq/' 
IBM_JAVACOREDIR='/var/log/activemq/'
Java Runtime: IBM Corporation 1.6.0 /usr/lib64/jvm/java-1_6_0-ibm-1.6.0/jre
  Heap sizes: current=131072k  free=126224k  max=8286208k
    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 -Xmx8092M -Dorg.apache.activemq.UseDedicatedTaskRunner=true 
-Djava.util.logging.config.file=log4j.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/current 
-Dactivemq.data=/srv/activemq/work 
-Dactivemq.base=/srv/activemq/install/current 
-Djava.class.path=/srv/activemq/install/current/bin/run.jar 
-Dsun.java.command=/srv/activemq/install/current/bin/run.jar start 
-Dsun.java.launcher=SUN_STANDARD -Dsun.java.launcher.pid=22786 _port_library 
_org.apache.harmony.vmi.portlib
ACTIVEMQ_HOME: /srv/activemq/install/current
ACTIVEMQ_BASE: /srv/activemq/install/current
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.store.kahadb.KahaDBPersistenceAdapter] while setting 
bean property 'persistenceAdapter'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)#1' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'maxCheckpointMessageAddSize' of bean class 
[org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter]: Bean property 
'maxCheckpointMessageAddSize' 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.store.kahadb.KahaDBPersistenceAdapter] while setting 
bean property 'persistenceAdapter'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)#1' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'maxCheckpointMessageAddSize' of bean class 
[org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter]: Bean property 
'maxCheckpointMessageAddSize' 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:136)
        at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at 
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:82)
        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.store.kahadb.KahaDBPersistenceAdapter] while setting bean 
property 'persistenceAdapter'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name '(inner bean)#1' defined in file [/srv/activemq/conf/activemq.xml]: 
Error setting property values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'maxCheckpointMessageAddSize' of bean class 
[org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter]: Bean property 
'maxCheckpointMessageAddSize' 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)
{code}


-- 
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