Unable to update message entity column "Send order"

107 views Asked by At

I am trying to update message entity column - "send order". I could not able to access the property as I am getting ""Send Order" has private access in 'entity.message'. Could you please help me how to update send order from message entity?

Note: I am trying to update message order if it stuck in queue after threshold limit- 3 retries. The stuck message needs to be send to last and then sub sequent message will be unblocked.

3

There are 3 answers

0
Gwisard On

Before we get to the right approach for the fix to your issue a couple of things needs to be addressed.

There is a reason highlighted by https://stackoverflow.com/a/77303596/22171845 and there are specific purpose for this. If your message is safe-ordered then GW platform needs to guarantee that message order is preserved within the context of a safe ordering object - probably in your case this is Claim. So the question here is What will happen if you change the order (or skip the message) on the destination system and will it not disrupt its processing?

If the answer is YES then you can't do this for valid business reasons. The alternative is that you fix the payload generated for this message fixing it and allowing to be consumed by the downstream system (assuming that's the reason) by retrying OR "send" the message somehow "externally" to the destination system by either invoking some procedures manually or generating the relevant record in the other system and skipping this message in GW. As this way you will preserve the order of events at the destination.

If the answer is NO then you need to seriously reconsider why are you creating safe-ordered messages when your destination system does not require them? Simply null out the PrimaryObject at the point of message creation and it will no longer be safe-ordered and the message order will not need to be preserved.

With the information given so far it's hard to advise any further in details - if you wish to share more the business scenario we can discuss further. There are "dark" ways to achieve of what you are asking for but without more context I would not give any other advise.

1
SteveDrippsCentricConsulting On

Updating the SendOrder is purposely not allowed because all GW apps maintain safe-ordering of messages. You can skip the message that is blocking the other messages, but changing the order is not allowed.

The order of messages can't be changed because ClaimCenter guarantees to external systems that messages will be sent in the chronological order of the associated events that triggered the message. Can you elaborate on the nature of the error you are seeing for this messaging destination?

0
Oleg Ushakov On

More applicable approach is to configure you message queue repeat interval. If you increase it some other messages will be passed before you get next attempt for you stuck message