I have three producers producing 80K messages every 2 seconds, I have three consumers subscribed as durable consumers. I am using mysql as persistence. What I see is that the messages are being written to the database even when all the subscribers are up. I thought that broker only writes to the datasource if it has to. Can anyone explain what I am missing? Here is my configuration: I am using activemq 4.0.1
<beans xmlns="http://activemq.org/config/1.0"> <broker useJmx="true" brokerName="cdx-server" deleteAllMessagesOnStartup="true" persistent="true"> <persistenceAdapter> <journaledJDBC dataSource="#mysql-ds"/> </persistenceAdapter> <transportConnectors> <transportConnector name="default" uri="tcp://localhost:9082"/> </transportConnectors> </broker> <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/> <property name="username" value="transera"/> <property name="password" value="transera"/> <property name="poolPreparedStatements" value="true"/> </bean> </beans> Ramesh.