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
Post a Comment