Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Pull request Compare This branch is even with biamontidv:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Donkey: EIP for JavaScript, node style.

Donkey provides an integration framework based on Enterprise Integration Patterns for JavaScript.

With Donkey, you don't need to reinvent the wheel everytime you want to write something to a file or send something to a message queue (e.g. RabbitMQ): you just tell Donkey and he will relentlessly do it!

Small example

First of all tell Donkey the routes you want it to walk:

        <from uri='direct://inOrders'/>
        <to uri='log://MyLogger?level=log'/>

Here is another definition:

        <from uri='file://orders/incoming?delay=10000'/>
             <to uri='log://orders_orig?level=log'/>
             <to uri='amqp://orders'/>
        <from uri='amqp://orders'>
                <to uri='log://filterA?level=log'/>
                <to uri='log://filterB?level=log'/>

Donkey offers you patterns to organise you routes and endpoints to interface with the world.

Patterns and components


Donkey is not yet available on the npm repository, but the package.json is properly setup. Until I add a script, you wil have to:

  1. create a node_modules folder if not already there
  2. in node_modules, create a simlink pointing at each subfolders of lib/node-donkey/components and call them donkey-<componentName>

In order to use components that are not part of the donkey core (e.g. donkey-amqp), you need of course to install that first, simply using npm.


This is a loooong list, Donkey is just born!

  • refactor as needed :)
  • refactor and add tests
  • add documentation
  • add examples
  • add new patterns
  • finish existing components/endpoints (e.g. add a file reader [file consumer])
  • add new components/endpoints (object, ftp, tcp/udp, http, atom, etc etc)
  • ...
  • pick up and listen constructive comments from the community!


Well, I guess the biggest sources of inspiration are Apache Camel and the EIP book. Very good work and great ideas!

Something went wrong with that request. Please try again.