just a warning to whoever would want to migrate from the broker to UM;
We migrated from the broker (8.2s version) to UM(9.8). We are NOT using ‘advanced’ features, really just simple publish/subscribe model.
SAG said that the switch from the broker to UM would be just a switch (simple click), that everything was backward compatible.
(they don’t use their own product, don’t believe what they say)
So we switched to UM and started publishing / consuming documents, everything worked in appearance.
We had a bad habit when we were using the broker; we though that by publishing 1 document, we would have the triggers consuming it once. It is not true with UM.
So after a while with UM, we are seeing a lot of cases where the subscriber will get the SAME document more than once.
After going through the documentation, it appears that we have to expect duplicates sometimes (if the IS failed to ‘acknowledge’ the document, it will be resent to the trigger (when the trigger is reloaded, when the JMS_CONNECTION to UM is reestablished, when the IS is restarted…)
For most of our process, it is not a big deal (a bit of a overhead), but for other processes, it is a BIG problem.
There is a way to avoid duplicates by configuring the ‘Exacly Once’ functionalities in the IS trigger
(basically, an integration server side document logging & comparing ).
It is not pretty, and I am not sure how it will scale with time (as we have a lot of documents), but it works.
Another comment : by upgrading to UM, you will loose the MWS visibility to the documents in the queue
with the broker you could go to MWS’s messaging menu and view/change documents published, not possible with UM; you have to
open enterprise manager and activate trace for debugging. It is also not possible* to see the number of documents pending (ex: when a serial trigger is consuming 1 document at the time, you could monitor the queue size from the broker’s api, not possible with UM)
*feel free to tell me how if I’m wrong.
I hope this will help somebody.