Skip to content


Subversion checkout URL

You can clone with
Download ZIP
DSL for Mule
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Mule is a lightweight java-based enterprise service bus (ESB) and integration platform that allows developers connect their applications together quickly and easily, enabling them to exchange data. Mule also provides an extensive out-of-the-box set of components that covers most common integration scenarios and, in complement, enables users create and use their own components (basically POJOs).

Until now, to setup and wire those components to build an integration solution, users had to create an external XML configuration file, which is a very powerful mechanism but not necessarily the best choice for everyone or every use case.

Mule DSL provides an alternative to XML, offering a simple and easy to use java based Domain Specific Language that helps users configure their integration flows. This project relies on Google Guice framework, given users all the power of a programmatic DI framework to configure their flow dependencies, a similar approach of Mule ESB with XML configuration file that relies on Spring Framework.

Here is a small Mule DSL code snippet that shows how easy is to build a flow:

public static void main(String... args) throws MuleException {
    Mule myMule = Mule.newInstance(new AbstractModule() {
        protected void configure() {
                    .from("file:///opt/my_app/in") // source folder
                    .send("file:///opt/other_app/in"); //destiny folder

    myMule.start(); //start mule

The above example just bridges files, polling the source folder and moving every file from there to the destiny.


For a very quick start check this two minutes tutorial. You can also explore mule dsl features by reading the Users Guide and check the complete list of available Building Blocks.

Something went wrong with that request. Please try again.