[we are running webMethods product suite 6.5.1]
I have this simple requirement:
“Provide a service that processes incoming documents in a reliable manner, while preserving the order in which they arrive.”
If you think this sounds simple, please read the following and let me know where I go wrong…
I tried the following:
- defined a publishable document (guaranteed) with a single field “input”
- defined a trigger with following settings:
… process mode = serial
… suspend on error = true
… deliver until = max attempts reached
… max attempts 2
- trigger service that fires when document arrives and:
… logs the value of the “input” field in the document
… throws “exceptionForRetry” when value is <= 10
… finishes successfully when value > 10
… audit properties set to : always
Then I published two documents. One with value 5 and one with value 15.
This is what I expect to happen: The document with value 5 should cause the trigger service to fail and the trigger to suspend after 2 retries. The document with value 15 should be banked up until 5 has gone through successfully. I expect the trigger to be suspended and that I need to fix the service before document with value 5 can go through successfully.
This is what happens
This is what the log showed me:
- service attempts to process document 5 three times (one for initial request + 2 retries)
- then the trigger is suspended
so far so good…
I then went to broker admin and reactivated the trigger. The Log showed me that it processed the document with value 15.
Questions:
- What happened to document with value 5, that caused the trigger to be suspended?
- I haven’t got myWebMethods set up yet, but I understand that I can use this to resubmit documents back to broker. However, if I resubmit the failed documents back into the queue, how do I preserve the order in which I process the incoming documents? Looks like as soon as I reactivate the trigger, it processes document with value 15 which arrived later than the one with value 5, but is now processed earlier.
Any response would be much appreciated.
#Universal-Messaging-Broker#Integration-Server-and-ESB#broker#webMethods