'Integration Design Patterns' in Action - 'Guaranteed Delivery' in MuleSoft

Поділитися
Вставка
  • Опубліковано 28 чер 2024
  • This video explains the popular Integration Design Pattern 'Guaranteed Delivery' which recommends to use Messaging System and the back up for storage when the messaging system fails.
    MuleSoft provides excellent set of features for fail-safe mechanism and we are going to discuss one of them, using 'Object-Store'.
    The Demo XML is given below for your quick reference:
    drive.google.com/open?id=1Kxc...
    Enjoy Learning !!
  • Наука та технологія

КОМЕНТАРІ • 20

  • @vn1272
    @vn1272 4 роки тому

    Thanks Shiva for all your videos

  • @venkatk161
    @venkatk161 2 роки тому

    Thank you so much for the explanation!

  • @manikantaadabala3122
    @manikantaadabala3122 4 роки тому

    Very clean and deep explanation ..Tq siva👏👏👏

  • @michaelj1743
    @michaelj1743 3 роки тому

    Much appreciated!!

  • @swapnilbankar
    @swapnilbankar 4 роки тому

    JMS Specs of ActiveMQ are not much featured, for option like "explicit acknowledgement" but for time being along with "Persistent" delivery, we can opt for "Manual" acknowledgement at consumer/listener side to retain the messages on Queue even after consumption.

  • @leelaprasadjagu3177
    @leelaprasadjagu3177 3 роки тому

    Thank You a lot for providing quality videos on architecture patterns. Can you please create video on Streaming Strategies in Mule4.

  • @sirirao7957
    @sirirao7957 4 роки тому

    Thanks for this useful info! Just had one question- could we use VM persistent queues instead of JMS within an application. Is there any downside to it.

  • @mohanbapuji
    @mohanbapuji 4 роки тому +1

    Hello Siva,
    firstly I would like to thank you for all the content that you have been putting across.(esp. for a beginner like me)
    In this use case, what is the datatype of the column that you have used in order to handle the payload. Do I have to declare it as a BLOB.
    Please clear me on this.

    • @sivathankamanee-channel
      @sivathankamanee-channel  4 роки тому

      Hi Mohan - you can use VARCHAR if the expected payload size is small and predictable. If you are unsure please use CLOB.

  • @sivathankamanee-channel
    @sivathankamanee-channel  4 роки тому +1

    Hi Friends - Please ensure to add 'On Error Propagate' in the Main flow as well and add the same Objet Store - 'Store' operation in case the JMS publish fails while or before the data is published into the JMS Queue. This will ensure that the Delivery will be guaranteed in all circumstances, when JMS server crashes. Thank you !!!

  • @KrishnaKumar-ks3mj
    @KrishnaKumar-ks3mj 4 роки тому

    Hi Siva, Can we use Websphere based JMS queueing for this demo

  • @rohitpratapani5171
    @rohitpratapani5171 4 роки тому

    Hello Siva,
    Great content! I just have a question, How setup time in the JMS listener so that it reads from queue for every 1 hour instead of processing immediately as soon as something comes in to queue.

    • @sivathankamanee-channel
      @sivathankamanee-channel  4 роки тому

      Hi Rohit - Please combine the scheduler with JMS Consume to achieve this. I have already published the video for this under JMS, you can please refer that. Good question, Rohit !!

    • @rohitpratapani5171
      @rohitpratapani5171 4 роки тому

      @@sivathankamanee-channel Thank you so much! So instead of jms listener I will use scheduler and consume.

  • @rush2mayank
    @rush2mayank 4 роки тому

    Hello Siva , thanks for giving so many good videos. I have a query over here - lets assume we have a scenario - there are multiple flows ( of multiple data types )which are writing data into object store. So when we try to reprocess data from object store than how do we failed data of particular flow only ( means how can we differentiate the data in object store.
    Thanks,
    Mayank

    • @sivathankamanee-channel
      @sivathankamanee-channel  4 роки тому

      Hi Mayank - The Object Store can be classified with different names and you can use different store for different purposes. Just like creating variables. For example, 'Failed_Products', 'Failed_Orders', etc. You can have many object stores introduced in your flow.

    • @rush2mayank
      @rush2mayank 4 роки тому

      @@sivathankamanee-channel thanks

  • @mufaddalf4377
    @mufaddalf4377 2 роки тому

    Hi Sir, If we are trying to insert multiple messages in DB inside a for-each loop and DB connection is unavailable then it will add many messages on the DLQ. Is there any way we only put selective messages on DLQ other than Connection failures?

  • @alfonsocataldi1282
    @alfonsocataldi1282 4 роки тому

    Hi, I did not understand two things: 1) the messages that the jsm listener is unable to insert, go to the IMQ queue of those not consumed, so the jms listener does not mark them as consumed if the subsequent flow is not successful?
    2) the messages that go among those not consumed, what happens to them?

    • @sivathankamanee-channel
      @sivathankamanee-channel  4 роки тому

      Hi Alfonso - Thanks for your clarifications. I added the comment in the video. If JMS fails before even the message is published, the message fails and the exception handler inserts them into Failed Messages Object Store 'employeeStore'. The same thing happens, when the message fails when the Database Connectivity fails. In both cases, they will get accumulated into the 'employeeStore'. They both need to be re-processed by special mechanism by consuming them and inserting them into the Database (this part is left for the viewers requirements). Hope this clarifies.