Mule 3.9: Using Cache Scope to Avoid Parallel Processing of the same Mule Application

#ICYDK: In this article, I will explain how to implement a logic in Mule ESB that will avoid parallel processing or simultaneously running of the same mule application. 

This Mule Application is triggered via HTTP GET Request. Once there’s a new request, it will create a variable #[flowVars.correlationId], which the value came from #[message.rootId]. This ID is a unique identifier of a particular Mule process and in this application, it will be stored inside the Cache Scope as a payload using the Transform Message { correlationId: flowVars.correlation } (Map Object Data Type). Then after that scope, we have a Choice Router that will determine if there’s an existing running process or not by checking if the #[payload.correlationId == flowVars.correlationId] (TRUE means there’s no cached data yet) response an HTTP status 200, if FALSE return HTTP status 409 Conflict. https://goo.gl/ex7U4v #DataIntegration #ML

Designing a Usable, Flexible, Long-Lasting API

#ICYMI: This article is featured in the new DZone Guide to API Management: Comparative Views of Real World Design. Get your free copy for more insightful articles, industry statistics, and more!

I remember the final commit like it was yesterday, even though it was several years ago. Six months of work building our application, and we were ready to launch. It followed all of the best practices, the code was perfect (OK, maybe adequate), and it was just in time for the big release. Like an episode of Silicon Valley, we waited to for the numbers— numbers that never came. Instead, after six months of work, we watched as customers expressed interest and then just walked away. https://goo.gl/TfNDNP #DataIntegration #ML