Objective:
Non – persistent
data (GL transactions data) that are stuck / lost in JMS queues can be
reprocessed using an existing API with Maximo automation script.
Pre-requisites:
1.
Create a folder
jmsrecovery inside the Global Integration Directory specified in the System
property mxe.int.globaldir
2.
Create a folder for a
queue inside the Global Integration Directory. Replace backslash with dots in
the folder name.
for example, for
outbound sequential queue jms/maximo/int/queues/sqout, the folder name should
be jms.maximo.int.queues.sqout
Automation
Scripting:
Create an ACTION type script for any MBO
object in Maximo.
https://github.com/bysurendar/maximo_processrecoveryapi/blob/master/automationscript_action.py
Launch Point of the script:
Input
XML:
XMLs are automatically generated when there
is an error on the JMS queue.
In case, we plan to resend records manually,
then XML need to be created in the below specified format.
XML tag and its values in Maximo
application:
i)
MSGPROP tag attribute
values: MEAMessageID -> auto generated value ; destjndiname à same as queue name where the messages
are stuck or need to be reprocessed ; interfacetype Ã
External system name; SENDER Ã
MX ; INTERFACE Ã
Publish Channel name
ii)
MSGDATA tag and its
attributes: maximoVersion Ã
Identified from System Help information ;
iii)
Set and Data tag comprises
of Object Structure name
The XMLs are placed in the queue folder
inside Integration Global Directory Ã
jmsrecovery Ã
folder with queue name.
Write
XML to JMS Queue:
The action of writing the XMLs to the queue
can be done in 2 ways.
1.
Click on the Execute
Script button in the Automation Script application for one
time transfer.
2.
Create an escalation for a
MBO with 1=1 condition and schedule the resend if required.
In this case, I
created the ACTION in COMPANIES object. So, an escalation on COMPANIES object
linked with the automation script ACTION can be used for automatic transfer of
XML from the folder to the queue.