You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Jean-Yves LEBLEU <jl...@gmail.com> on 2008/08/20 11:41:49 UTC
Re: 4.1.1 to 5.1.0 eating heap space
Hello all,
Coming back on this problem it seems that if I remove the broker from my
webapp and run an external broker, I have no more OutOfMemoryError.
Now if I run an embedded broker without any memory limit parameters, I run
out of java heap space.
If I put some destinationPolicy and systemUsage , I do not run any more out
of java heap space.
Thanks for any ideas.
Jean-Yves
On Tue, Jun 24, 2008 at 1:10 PM, Jean-Yves LEBLEU <jl...@gmail.com> wrote:
> Hello to all,
>
> My last chance, I've spend last hours to make it work, modifying a lot of
> parameters but without any success ...
>
> We have a web application using Spring 2.5.4 and ActiveMQ which is working
> very well, with ajax access etc ... and we would like to upgrade to 5.1.0.
> The configuration is very simple, no persistance and we use only temporary
> topics.
> Works well also but eating memory, and we finish by a beautiful "ActiveMQ
> java.lang.OutOfMemoryError: Java heap space"
>
> Does anybody has an idea of what we forgot to change ? or what is needed to
> be changed when upgrading from 4.1 to 5.1 ?
>
> Thanks for any answer or any pointer to documentation / forum I may have
> missed ...
>
> Jean-Yves
>
> Here is the spring config :
> <beans>
> <bean id="brokerContainer"
> class="org.apache.activemq.xbean.BrokerFactoryBean">
> <property name="config" value="classpath:activemq.xml" />
> </bean>
> <bean id="wbmPrefetchPolicy"
> class="org.apache.activemq.ActiveMQPrefetchPolicy" >
> <property name="topicPrefetch" value="10000"></property>
> </bean>
> <!-- JMS ConnectionFactory to use -->
> <bean id="jmsFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
> <property name="brokerURL"
> value="vm://wbm?broker.persistent=false" />
> <property name="prefetchPolicy"
> ref="wbmPrefetchPolicy"></property>
> </bean>
>
>
> <!-- Spring JMS Template -->
> <bean id="myJmsTemplate"
> class="org.springframework.jms.core.JmsTemplate">
> <property name="connectionFactory">
> <!-- lets wrap in a pool to avoid creating a connection per
> send -->
> <bean
>
> class="org.springframework.jms.connection.SingleConnectionFactory">
> <property name="targetConnectionFactory">
> <ref local="jmsFactory" />
> </property>
> </bean>
> </property>
> <property name="pubSubDomain" value="true"></property>
> <property name="timeToLive" value="5000"></property>
> </bean>
>
>
> And active MQ config
>
> <beans>
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>
> <broker useJmx="false" brokerName="wbm" xmlns="
> http://activemq.org/config/1.0" persistent="false">
>
> <transportConnectors>
> <transportConnector uri="tcp://localhost:61618" />
> <transportConnector uri="stomp://localhost:61668"/>
> </transportConnectors>
>
> <destinationPolicy>
> <policyMap>
> <policyEntries>
>
> <policyEntry topic="wbm.>">
> <!-- lets force old messages to be discarded for slow consumers
> -->
> <pendingMessageLimitStrategy>
> <constantPendingMessageLimitStrategy limit="30"/>
> </pendingMessageLimitStrategy>
> </policyEntry>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
>
> </broker>
>
> </beans>
>
>