Kafka Content Based Routing with Quarkus, Drools, and Apache Camel

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ม.ค. 2025

ความคิดเห็น • 6

  • @NickPaul41
    @NickPaul41 2 ปีที่แล้ว +1

    Super cool. As someone that is also developing hl7 integrations using quarkus, camel, openshift and AMQ Artemis as our broker. This gives me a few new ideas on how to include new routing methods.

    • @MatteoMortari
      @MatteoMortari  2 ปีที่แล้ว

      Thank you for the feedback Nick, I'm glad to hear this helps with additional considerations and ideas for your use-case too! 🚀

  • @artyomchernetzov9194
    @artyomchernetzov9194 ปีที่แล้ว +1

    Great video, thank you

    • @MatteoMortari
      @MatteoMortari  ปีที่แล้ว

      Thank you for the feedback! Always much appreciated 🙏

  • @ahmedmk534
    @ahmedmk534 ปีที่แล้ว +1

    very informative video. thanks a lot.
    i was trying to look at the code in github, but I still cannot understand how all this is "glued" together. I was trying to send JSON message instead of HL7. can you please explain the RouteBuilderBean more ? and how it is reading the dmn file to make the decision ?
    One last auestion, isn"t camel DYNAMIC ROUTER doing the same thing ? thanks

    • @MatteoMortari
      @MatteoMortari  ปีที่แล้ว +1

      Hi Ahmed, thank you for the feedback!🙏 Glad to hear you found it informative.
      > I was trying to send JSON message instead of HL7
      In that case you should follow Quarkus standard JAX-RS and RestEasy to provide an alternative REST github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/example/HL7v2Resource.java#L15-L26
      and then, the routebuild would need to be removed of the HL7 specifically marshalling bits
      github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/example/RouteBuilderBean.java#L39
      > how it is reading the dmn file to make the decision ?
      That is done by Kogito on Quarkus it will provide CDI beans of the DMN models, so you don't have to manually read files. As a developer you just inject the github.com/tarilabs/quarkus-content-based-routing/blob/b22373b5c67e771113feb685b5f8762cd7ab9a0d/src/main/java/org/drools/utils/camel3/KogitoProcessorFactory.java#L20-L21
      and it provides access to the model evaluation.
      > isn"t camel DYNAMIC ROUTER doing the same thing
      I believe in Camel you have many ways to approach the same problem, to provide different effective solutions :) In ANOTHER demo I was using a Router + Claim Check: github.com/tarilabs/kafka-msg-routing-with-quarkus-kogito-dmn-camel/blob/2940bf041872d59ecd4d4178878d774f932ddc76/src/main/java/org/drools/demo/IDAASDREAMRouteBuilder.java#L38-L45
      because the requirement was also there to give explicit logic _in the routes_ and easily accessible and modifiable in the Camel Routes. So it really depends on a case-by-case with your specific requirements.
      I hope this address at least in part your questions, feel free to send a message about this video/demo and any further or remaining detailed question on the Kogito mailing list, maybe easier to delve into details over there! :)
      See: groups.google.com/g/kogito-development
      Hope this helps, let me know or hope to read more from you on the mailing list!