turn off producer flow control - see
http://activemq.apache.org/producer-flow-control.html
cheers,
Rob
On 6 Oct 2008, at 17:33, victorbp wrote:
Hello!
I'm sending non persistent messages to queue and topics (non durable)
through ActiveMQ. I'm trying to use the spooling to disk when memory
is full
but every time that I reach the memory limit, seems like the broker
gets
blocked and I'm not able to send or receive more messages.
I can see how the broker works fine with a large number of messages
without
reach the limit of memory (I use JConsole to see the memory percentage
usage), but if I increase the number of messages and the memory
reach 100%
usage, I just see that the memory doesn't decrease, remains at 100%
even if
I wait long time, seems like the consumers get blocked and they dont
read
the messages.
I get this behaviour using VMCursors and FileCursors, the only
difference is
that when I use FileCursors I can see some temp files created in the
tempDataStore directory.
What I understand about spooling to disk is that when the memory
limit is
reached, the next messages will be saved in disk until the messages in
memory are read, but instead I'm getting the system blocked.
Here is my config. Does anyone have an idea about what is happening
or if I
am missing some extra config?
Thanks a lot!
<bean id="brokerService"
class="org.apache.activemq.broker.BrokerService" init-method="start"
destroy-method="stop">
<property name="brokerName" value="localhost" />
<property name="persistent" value="false" />
<property name="useJmx" value="true" />
<property name="managementContext">
<bean
class="org.apache.activemq.broker.jmx.ManagementContext">
<property name="createMBeanServer" value="false" />
<property name="createConnector" value="false" />
<property name="findTigerMbeanServer" value="true" />
</bean>
</property>
<property name="advisorySupport" value="false" />
<property name="systemUsage">
<bean class="org.apache.activemq.usage.SystemUsage">
<property name="memoryUsage">
<bean
class="org.apache.activemq.usage.MemoryUsage">
<property name="limit"
value="200000" />
</bean>
</property>
<property name="storeUsage">
<bean class="org.apache.activemq.usage.StoreUsage">
<property name="limit"
value="100000000" />
</bean>
</property>
<property name="tempUsage">
<bean class="org.apache.activemq.usage.TempUsage">
<property name="limit"
value="100000000" />
</bean>
</property>
</bean>
</property>
<property name="transportConnectorURIs">
<list>
<value>${broker.url}</value>
</list>
</property>
<property name="tempDataStore">
<bean class="org.apache.activemq.kaha.impl.KahaStore">
<constructor-arg>
<bean class="java.io.File">
<constructor-arg
value="temp/" />
</bean>
</constructor-arg>
<constructor-arg value="rw" />
</bean>
</property>
<property name="destinationPolicy">
<bean
class="org.apache.activemq.broker.region.policy.PolicyMap">
<property name="defaultEntry">
<bean
class="org.apache.activemq.broker.region.policy.PolicyEntry">
<property name="subscriptionRecoveryPolicy">
<bean
class
=
"org
.apache.activemq.broker.region.policy.NoSubscriptionRecoveryPolicy">
</bean>
</property>
<property name="messageEvictionStrategy">
<bean
class
=
"org
.apache.activemq.broker.region.policy.OldestMessageEvictionStrategy">
</bean>
</property>
<property name="pendingMessageLimitStrategy">
<bean
class
=
"org
.apache
.activemq.broker.region.policy.ConstantPendingMessageLimitStrategy">
</bean>
</property>
<property name="destination">
<bean
class="org.apache.activemq.command.ActiveMQTopic">
<property name="physicalName"
value="topic" />
</bean>
</property>
<property name="pendingSubscriberPolicy">
<bean
class
=
"org
.apache
.activemq
.broker.region.policy.FilePendingSubscriberMessageStoragePolicy">
</bean>
</property>
<property
name="pendingDurableSubscriberPolicy">
<bean
class
=
"org
.apache
.activemq
.broker
.region.policy.FilePendingDurableSubscriberMessageStoragePolicy">
</bean>
</property>
<property name="pendingQueuePolicy">
<bean
class
=
"org
.apache
.activemq.broker.region.policy.FilePendingQueueMessageStoragePolicy">
</bean>
</property>
</bean>
</property>
</bean>
--
View this message in context:
http://www.nabble.com/ActiveMQ-Blocked-when-memory-is-full-tp19841470p19841470.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.