Deleting non-processed messages from queues – MIF (Maximo Integration Framework)
Fernando Ruano 2700049C4T Visits (11736)
Inbound sequential (sqin) - Maximo sequential queue used for importing data
Inbound continuous (cqin) – Maximo continuous queue used for importing data
Outbound sequential (sqout) – Maximo sequential queue used for exporting data
Error continuous (cqinerr) – Maximo continuous queue used for error. The error messages generated in the inbound continuous queue (cqin) can be redirected to this queue, since the cqinerr has been previously set for receiving those messages
Queues are structures based on the FIFO (first in, first out) principle, in which the first elements included in the queue are the first elements to be removed. In a sequential queue, whenever an error occurs, this queue stops processing its elements and remains in the same position until the message is removed or the error is fixed. On the other hand, in a continuous queue, even if there is an error, this queue moves on processing all the other elements.
Clients using sequential queues usually have to delete all the messages of a certain queue during the data integration. We will use an inbound operation with XML as an example to explain this process:
From an MIF environment correctly set, import the XML file. MIF then identifies the JMS inbound queue and writes the message into this queue. If the message contains multiple instances of a document, MIF will write multiple messages into the queue. If at least one of these messages is processed with errors, an exception message is identified and no other message is processed and written into the database.
You can also import several records by using several XML files or records in an XML file, and this action generates several messages in the queue. If, by any chance, a failure occurs while importing the records, you can delete or fix the XML that generated the error in the Message Reprocessing application (see the picture below). With this procedure, the following message in the queue is processed. However, if the entire batch of messages contains errors, you do not need to wait until all the messages are processed, deleted or fixed; you can use IBM Maximo or the application server (Weblogic or Websphere) in order to delete all the elements from the queue. Then, you can perform the required modifications and import news message to an empty queue.
To use Maximo for deleting the queues, follow these steps:
Go to Integration > External Systems.
Select the external system used for integration purposes. Then, go to Select Action > Add/Modify Queues.
Select the queue that contains non-processed data and click the Delete Queue Data button.
In case you need to check how many messages there are in the queue, click the View Queue Data button:
Using Weblogic for deleting the queues: follow the steps below:
Go to JMS > JMS Modules > intjmsmodule > sqin > Summary of JMS Messages > sqin
Then, click the Monitoring tab:
Select intjmsmodule!sqin and click Show Messages
Check that all the listed messages have been deleted:
Go to Buses > intjmsbus > destination > sqinbd > Queue points
Select the sqin target and click Runtime. Then, click Messages
Confirm that all messages must be deleted by clicking OK:
If you are using an application server version other than the ones presented in this article, please refer to the documentation provided by the manufacturer.
Maximo Enterprise Asset
About the authors
Fernando Ruano is post-graduated in System Engineering. He has been working in the IT industry since 2001 and currently works as a Quality Assurance Engineer at the IBM Brazil Software Development Lab. He participated in several releases of Maximo Asset Management, including systems integration projects with MEA and MEA for SAP. He also worked as the QA Lead for Maximo Primavera Adapter and as a team member for Maximo for Service Providers. Currently, he is part of the SQA team for IBM's recent acquisition, TRIRIGA Application Platform, which is part of the company's Smarter Planet strategy. MydeveloperWorks profile:
Raquel Bortoluci is post-graduated in Software Development by UFSCAR and graduated in Data Processing by FATEC. She has been working in the IT industry since 2002 and currently works as a Quality Assurance Engineer at the IBM Brazil Software Development Lab. She is highly experienced in systems integration projects. She worked with Maximo Integration Framework (MIF) in 2007 and later on she worked with Maximo Oracle Adapter project. Currently, Raquel works with the SRM project, performing integration tests among Maximo Asset Management applications. MyDeveloperWorks profile: