java - OutOfMemoryError due to a huge number of ActiveMQ XATransactionId objects -


we have weblogic server running several apps. of apps use activemq instance configured use weblogic xa transaction manager.

now after 3 minutes after startup, jvm triggers outofmemoryerror. heap dump shows 85% of memory occupied linkedlist contains org.apache.activemq.command.xatransactionid instances. list root object , not sure needs it.

what cause this?

we had same issue on weblogic 12c , activemq-ra. xatransactionid object instances created continuously causing server overload.

after more 2 weeks of debugging, found problem caused weblogic transaction manager trying recover pending activemq transactions calling method recover() returns ids of transaction seems not completed , have recovered. call method weblogic returned not null number n (always same) , causes creation of n instance of xatransactionid object.

after investigations, found weblogic stores default transaction logs tlog in filesystem , can changed persisted in db. thought there problem in tlogs being in file system , tried change db , worked ! our server runs more 2 weeks without restart , memory stable because no xatransactionid created part necessary amount of ;)

i hope , keep informed if worked you.

good luck !


Comments

Popular posts from this blog

Django REST Framework perform_create: You cannot call `.save()` after accessing `serializer.data` -

Why does Go error when trying to marshal this JSON? -