Skip to content

Passing JVM options in Mule ESB

May 7, 2013

After a long and hard search, I finally figured out a way to pass parameters to JVM in Mule ESB. Thought of sharing this for the next restless soul trying to develop things in Mule.

Lets start with a simple introduction of mule, Mule is an ESB (Enterprise Service Bus) meaning it helps connect different components which don’t ordinarily speak the same language and are very difficult to adjust/reprogram.

Whenever we deal with Java and its related products, we often end-up fidgeting with the amount of memory which needs to be allocated to the VM.

Mule being different as it it, has a very different way of passing arguments to the underlying VM. It uses a configuration file found in $MULE_HOME/conf/wrapper.conf

this file contains keys matching the pattern

wrapper.java.additional.<n>

replace the <n> with an integer (ensure to not skip a number in the sequence), the default mule installation comes with 3 configurations, so its safe to start with wrapper.java.additional.4

so the config file needs to be appended with

wrapper.java.additional.4=<<your config>>

Please leave your comments and suggestions to improve this post..

From → Java / Mule ESB

4 Comments
  1. dinehs permalink

    How to enable Garbage collections in mule

    • Since mule runs in jvm, the jvm garbage collection algorithm will be available and JVM takes care of GC, however, you can adjust this behaviour by changing memory allocation/gc algorithm here is a link which details various options in GC tuning.

      • dinesh permalink

        I mean how to enable verbose gc and gc logs in mule.

      • gc can be enabled using the following command line to the VM
        ” -Xloggc:gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps ”

        the first option says log gc to a file called gc log, 2nd and 3rd arguments define what needs to be logged.

Leave a comment