Wir hatten genau das gleiche Problem auf Weblogic 12c und activemq-ra. XATransactionId-Objektinstanzen wurden kontinuierlich erstellt, was zu einer Serverüberlastung führte.
Nach mehr als 2 Wochen Debugging haben wir festgestellt, dass WebLogic Transaction Manager versucht hat, einige ausstehende activemq-Transaktionen wiederherzustellen, indem die Methode recover() aufgerufen wird, die die IDs der Transaktion zurückgibt, die nicht abgeschlossen zu sein scheint müssen wiederhergestellt werden. Der Aufruf dieser Methode durch Weblogic hat immer eine nicht null Zahl n (immer die gleiche) zurückgegeben, und das verursacht die Erstellung einer n-Instanz des XATransactionId-Objekts.
Nach einigen Untersuchungen haben wir festgestellt, dass Weblogic standardmäßig seine TLOG-Transaktion TLOG im Dateisystem speichert und dies kann geändert werden, um in DB gespeichert zu werden. Wir dachten, dass ein Problem darin besteht, dass sich TLOGs im Dateisystem befinden und wir versuchten es in DB zu ändern und es funktionierte! Jetzt läuft unser Server für mehr als 2 Wochen ohne Neustart und Speicher ist stabil, da keine XATransactionId ein Teil von der notwendigen Menge davon erstellt wird;)
Ich hoffe, das wird Ihnen helfen und uns auf dem Laufenden halten, wenn es für Sie arbeitete .
Viel Glück!
Ich bin nicht mit dem Projekt mehr, aber ich denke irgendwann Wir löschten das tx-Protokoll, da es definitiv veraltet war, was zu der Zeit das Problem löste. Daher als richtig markieren. –