Was wondering if there are any examples on how to send/get data using Atom Queue connector.
What exactly are you looking for ? Queuing is a general concept and there is lot of documentation around it. Boomi's atom queue is no different, it uses the same concepts. There is lot of documentation on help Atom Queue operation . Very common use case to use queueing is in a pub-sub based architecture. Publish–subscribe pattern - Wikipedia, the free encyclopedia Hope this helps !
If you want to look at the message count and etc navigate to Manage\Atom\Queue server settings and you can interpret message and dead letters too.
We use message queuing in most of our integrations. It is a simple and straightforward to use. Some hints and tips
So we have done some basic tests around Atom Queues and exception handling and we are very confused about when messages are considered to be "consumed" and when / if messages are left on queues if there is a downstream error.
So what we want to do is read a message of an Atom queue using a queue listener component -> do some processing for the message -> detect an error has occurred somewhere downstream in the process -> EXPECT: message is NOT removed from the queue.
Re-try process 5 times -> error still exists -> 6th time message removed from queue and put on deal letter queue.
So we are unclear what triggers the re-try, is this any downstream exception?
From our tests throwing an exception downstream of the queue get has no effect on whether the message is removed from the queue or put in a dead letter queue.
We have read the forums and the Boomi help and are struggling to find examples or answers on this. Since you seem to be successfully using Atom Queues, can you help clarify.
If you implement a Boomi process using an Atom queue listener as the start shape, it will work as you want. Out of my head, if you don't use any try/catch shapes in your process to catch errors, message will automatically be send back to the queue and will be retried 6 times. After that, a message will be send to the DLQ.
In order to get the "retry on error" functionality, you must specify a "max simultaneous" setting for the listener. Otherwise, messages will be basically "fire and forget" (immediately consumed as soon as the execution is launched). This behavior is detailed in Atom Queue operation under "Maximum Concurrent Executions".
That did it. Thanks for the clarification James.
Good one James. I forgot to mention that one.
Hello sjaak,I was going though this thread and i'm having a question here .When you say "Messages will be send back to the queue when an error occurs" how would Boomi/Atom Queue implemented processes know when a error occurred in a process?
1.I mean to ask what are all things will it consider for a document to be failed and send back to queue.2.And some of my Process (using HTTP connection) success/failure are based on application status Code (202-Success.....) .Will a failure be sent back to queue in this case as well ?Regards,Sai
Boomi sends the message back into the queue (*) when an exception occurs
(*) This works like an auto-retry with a maximum of 6 times. When it then fails, it will be sent to dead letter queue. in practice, this mechanism can be used to "auto-fix" issues like connector errors. Examples:
Retrieving data ...