I like the idea of clean easily read XML configuration in my Mule projects. Therefore I externalize DataWeave transformations , SQL quires and other content. In this article I will compare assets that Mule gives as to achieve externalization of such things in Mule 3 and Mule 4.
In the last article I have described my attempts with writing Mule apps in IntelliJ for Kernel edition. With no luck. Here I will focus on writing a simple application in environment that we should know pretty well … Anypoint Studio. After that I will deploy this application on Kernel application server to test how it works. If you are interested with basic information’s about Mule Kernel 4 look at this article where I have revealed some basic news.
In the previous article I have described how to share common functionality encapsulated in flows and subflows. This time I will focus on common configuration that should be shared among our applications. Mule has offered domain application that can solve
Content Enricher is definitely an useful integration pattern. It allows easily enrich message content with new data gathered from external resource. In vast majority of Mule’s apps I have been using Message Enricher Component. Today I will point main differences
Raml 1.0 introduces new concept called DataType. This fragment is used to declare type in a separate yaml file. This is not just a simplification of JSON schema to conform raml/yaml. It also brings simple improvements and syntax sugar that allows to write types in more concise form. And therefore more readable. In this article we will look at how to define own data types and reuse them in API and its implementation
Errors occurs all the time. All you can do is to implement error handling. In this article I will describe how to use introduced layer of abstraction in exceptions area. Prior to Mule 4, developer only could access raw Java exception as Mule is a Java based ESB. This lead to situation where you, as a developer, needed analyse documentation to find exact exception that you would like to handle. Now an Error concept was introduced.
There are time when you need to get one particular element from an array, but not based on the index. This item needs to fulfill some requirements like equality and so on. In order to perform that task selector ? was introduced. This is applicable for both DataWeave 1.0 and 2.0.
I have already presented how to call Java code using messages processors with the newest Java Module for Mule 4.x. For earlier mule’s version Entry Point Resolvers were used to invoke custom Java code. However for scenarios when we would like to use custom code in DataWeave, for transformations, another approach is needed. Approach presented in this article will be more concise comparing to using message processors. It was highly extended comparing to possibilities of Mule 3.x version. Mule 3 allowed to invoke static methods. In contract Mule 4 not only permits to call static methods but also instantiate classes and access its instance attributes.
It is a good practice to monitor your service and check whether it is available and/or is performing as expected. In order to do this we need to specify what service’s health term means. In this article I will present two
Tip number 2 is about converting decimal number into integer one. This may seem tricky at first. You may say that we do not need to do anything special and DataWeave engine will handle it underneath. However there is a nuance that you should be aware of. In transformation to XML this may not actually works. This tip is primary dedicated to DataWeave 1.0 as in DataWeave 2.0 this does not occur.