Does this mean "this is a known bug in 4.1 and has been fixed", or "take
4.2-snapshot for a spin, and maybe it helps?"
We're running 4.1 in production, and this and other memory leaks (e.g.
the whole issue revolving around disconnect() not working with durable
topics) are causing major problems for us - there doesn't seem to be any
solution other than to monitor memory usage, bring everything to a halt,
and restart services in a maintenance window. We're unable to run
unreleased code in production, what's the current wisdom on 4.2 coming
out? Or a 4.1.1? I am somewhat scared of 4.2.0 introducing a whole new
set of unknown headaches - at least we seem to know our issues with 4.1
at this time.
Thank you,
Peter
Rob Davies wrote:
Hi Sandeep,
I think using the latest snapshot for 4.2 will help:
http://people.apache.org/repo/m2-snapshot-repository/org/apache/activemq/apache-activemq/4.2-incubator-SNAPSHOT/
cheers,
Rob
On 5 Feb 2007, at 15:20, Sandeep Chayapathi wrote:
Hi all,
As a followup to these questions:
http://http://www.nabble.com/how-to-set-the-message-of-the-broker-will-store-in-the-mySQL-only-tf2957449.html#a8294916
how to set the message...
http://www.nabble.com/Queue-Memory-Limits-tf1857084.html Queue Memory
limit
http://www.nabble.com/Async-Exception%3A-Broken-Pipe-tf3160498.html#a8765808
Async exception
My bane of existence has been activemq, for a while now. The single
issue,
is activemq running out of heap memory, when I use offline durable
subscribers. I wondered if by using db persistence, instead of caching
messages, would solve this proble. To that end, I modified my
activemq.xml,
thusly:
------
<beans>
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
<broker brokerName="localhost" useJmx="true"
xmlns="http://activemq.org/config/1.0" persistent="true">
<memoryManager>
<usageManager id="memory-manager" limit="1024 MB"/>
</memoryManager>
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds"/>
</persistenceAdapter>
</broker>
<!-- MySql DataSource Sample Setup -->
<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="sandeep"/>
<property name="password" value="password"/>
<property name="poolPreparedStatements" value="false"/>
</bean>
</beans>
-----
I had 3 offline durable subscribers, to a topic (tired with queues
also) and
1 producer, which pumped in messages to the topic. The jvm was started
with
-Xmx1024M.
I found that, although the messages were supposed to be persisted to the
mysql db, all the tables were empty. Once the memory usage hit the
jvm's max
allocated memory, I got the dreaded
"java.lang.OutOfMemoryError: Java heap space", yet no messages were
found in
the datastore.
Can anyone pls enlighten me why the un-acked messages were not being
persisted to the datastore and if there is a way to force activemq to
persist messages ? Thanks
- Sandeep
--View this message in context:
http://www.nabble.com/jdbcPersistenceAdapter-enlightenment-tf3174884.html#a8808214
Sent from the ActiveMQ - User mailing list archive at Nabble.com.