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

Manipulating JMS queues using WLST Script

Hi.

Today, let’s talk about Java Message Systems (JMS), the reason led me talk about this, is that my environment, a complex architecture of messages where we have more of two hundred queues in the same domain.
The administration of queues in the weblogic console is very simple, but, if you need to remove a million messages, in a hundred queues, you have a problem!
To turn more agile the visualization of messages, state and other queue properties, nothing better than to use WLST.

This post shows a script, which can grow up where you imagine, for while the script have just three options (the most useful to me) and nothing prevents to have more.

Continue reading