cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Cloud Integration - JMS Queue - Entries Number

fellipe_mendes
Participant
696

Dear experts.
I hope all is well with you.

We are evaluating the implementation of a solution to notify alerts when we notice X amount of entries in a JMS queue.
We tried checking CI's OData V2 API, Message Stores, JMS Resources (expanding to QueueStates), but it only shows whether the queue is healthy or not (based on number of entries vs capacity).
https://api.sap.com/api/MessageStore/path/get_JmsBrokers__Broker1__
Sample API Response:
{

"Name": "QueueName",
"State": "0"
}

It would be very valuable if this API had an entity/resource that returned the number of entries/messages in the queue.
 
Another possibility could be executing CI API (MessageProcessingLogs) to get the messages in the monitor. Apply the filter status + iFLow ID:

...CItenanthost/api/v1/MessageProcessingLogs/?$filter= Status eq 'RETRY' and IntegrationArtifact/Id eq 'IFLOW_ID'.

In an technical iFlow that will be executed periodically, executing the above query, if messages found, check the defined number of messages to send the alert, if it has been exceeded, send the email.

We are also checking the use of SAP ALM connected with Integration Suite Tenant, perhaps adding the SAP ANS (Alert Notification) BTP service to the solution.

Anyone from the community willing to contribute extra information, insights or who has worked on the same need?

I appreciate any feedback/comments.

Thank you,
Fellipe Mendes

#cloudintegration #ci #JMS #queue

Accepted Solutions (0)

Answers (1)

Answers (1)

AleGuarneri
Explorer
0 Likes

Hola Fellipe,

I hope I'm not off topic, but I'm certainly late.

I've just struggled with something similar, especially since when SAP brought back the good old "pipeline" concept, belonging to SAP PI/PO and missing in Integration Suite.

First of all, you can find all answers by calling this: https://<your-btp-host>/api/v1/$metadata (see attached).

Then, the "right" entity is simply Queues, not JmsQueue, which doesn't exist and comes back with a 501 HTTP response, bad. The response (ATOM) is quite detailed (see attached).

Then you can drill down: https://<your-btp-host>/api/v1/Queues('YourQueueName')/Messages

In the response you should  (haven't tried it yet) find 

  • Msgid

  • Failed: boolean (true o false).

    If you wanna get rid of failed messages: