Avoiding lost messages in JDBC Persistent Store, when processing Global Transactions with JMS.

   A few months ago, i had a problem in Persistence Store of JMS queues, soon after perform server restart, I get error from persistence store to recover message:

weblogic.store.PersistentStoreFatalException: [Store:280064]invalid handle 55981 (server="EVENTS01" store="JDBCStore_3022" table="JDBCStore_3022WLStore"),

   To resolve this problem, just add this parameter on server startup arguments:

 -Dweblogic.store.StoreBootOnError = true

   With this parameter, the server starts with OK status in WebLogic 11g and with FAILED status in Weblogic 12c, but in both the processing of the messages continues when active,
to remove FAILED status in Weblogic 12c, just need to truncate persistence table in database and restart server (This solution can be found in Oracle Docs).

   This solution did not solved my problem, because I can’t lost or delete messages.

Let’s go analyse the problem:

Continue reading