Changes for page Asynchronous Routing

Last modified by Danniar Firdausy on 2024/09/04 09:01

From version 37.2
edited by Danniar Firdausy
on 2024/08/20 13:10
Change comment: There is no comment for this version
To version 22.1
edited by Erik Bakker
on 2022/08/15 08:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.dfirdausy
1 +XWiki.ebakker
Content
... ... @@ -35,11 +35,7 @@
35 35  The best practice for setting up your asynchronous routing process is to use one SpEL expression that determines to which offramp queues a messages needs to be routed.
36 36  The SpEL expression looks as follows:
37 37  
38 -{{code language="xml"}}
39 -
40 40  headers.{technicalnameofproject}\_targetSystem.split(',').![#this.trim()+#root.headers.{technicalnameofproject}_messageType]
41 -
42 -{{/code}}
43 43  
44 44  This SpEL expression does the following things:
45 45  
... ... @@ -64,7 +64,7 @@
64 64  
65 65  === 3.2 Control output ===
66 66  
67 -As the asynchronous routing plays a role in routing messages between all asynchronous flows in the messaging solution you can imagine that making changes does not need to happen lightly. The other aspect is that when multiple projects are being built at the same time the asynchronous routing will house a multitude of changes that need to go to Acceptance or Production at the same time.
63 +As the asynchronous plays a role in routing messages between all asynchronous flows in the messaging solution you can imagine that making changes does not need to happen lightly. The other aspect is that when multiple projects are being built at the same time the asynchronous routing will house a multitude of changes that need to go to Acceptance or Production at the same time.
68 68  
69 69  One control mechanism we consider a best practice to guard yourself against those risks is to add a filter before data is placed on the offramp queue.
70 70  By doing this consistently you can control when a specific offramp can receive data on any environment. In other words, when a certain system is not ready yet to receive data on Acceptance or Production but is ready on Test you can control this behavior with this solution.
... ... @@ -106,18 +106,25 @@
106 106  [[image:Main.Images.Microlearning.WebHome@crashcourse-messaging-asynchronous-routing--simple-asynchronous-routing-example.png]]
107 107  
108 108  
109 -== 4. Key takeaways ==
105 +== 4. Assignment ==
110 110  
107 +Build your asynchronous routing based on the best practice for one of the offramps that are available within your (Academy) project.
108 +This assignment can be completed with the help of your (Academy) project you have created/used in the previous assignment.
109 +
110 +== 5. Key takeaways ==
111 +
111 111  * Use one component that decides to route messages to certain channels
112 112  * Control the output with a filter to prevent data to be sent to a queue too early
113 113  * Use the annotations to write down the step by step guide within your asynchronous routing
114 114  
115 -== 5. Suggested Additional Readings ==
116 +== 6. Suggested Additional Readings ==
116 116  
117 117  If you are interested in this topic and want more information on it please read the help text provided by eMagiz.
118 118  
119 -* [[Store (Menu)>>doc:Main.eMagiz Store.WebHome||target="blank"]]
120 -** [[Accelerators (Navigation)>>doc:Main.eMagiz Store.Accelerators.WebHome||target="blank"]]
121 -*** [[Routing - SpEL (Store Item)>>doc:Main.eMagiz Store.Accelerators.Routing - SpEL.WebHome||target="blank"]]
120 +== 7. Silent demonstration video ==
122 122  
122 +This video demonstrates how you could have handled the assignment and gives you some context on what you have just learned.
123 +
124 +{{video attachment="crashcourse-messaging-asynchronous-routing.mp4" reference="Main.Videos.Microlearning.WebHome"/}}
125 +
123 123  )))((({{toc/}}))){{/container}}{{/container}}