Bootstrapping the Registry
Mule ESB provides a mechanism for adding objects to the Mule registry as soon as a module or transport is loaded. This is useful for registering shared transformers or expression evaluators.
All objects you add to the registry using this mechanism must have a default constructor. They can implement injection interfaces such as
org.mule.MuleContextAware and lifecycle interfaces such as org.mule.api.lifecycle.Initialisable.
Specifying the Objects to Bootstrap
To load an object into the Mule registry using the bootstrap mechanism, you specify the object in the properties file
registry-bootstrap.properties, which you then store in the META-INF directory for the transport or module. For example:
Each entry in the
registry-bootstrap.properties file is a simple key/value pair that defines the object:
If this file is in a module or transport's META-INF directory, Mule will register an instance of
org.foo.MyObject with a key of 'myobject' into the local registry when that module or transport is loaded.
If you want to ensure that the object gets a unique ID in the local registry, you can use
object.n for the key, where
n is a sequential number:
When adding transformers, you can also define the
name of the transformer as parameters:
Note that the key used for transformers must be
n is a sequential number.
If the transformer name is not specified, Mule will automatically generate the name as JMSMessageToXXX where XXX is the return class name, such as JMSMessageToString. If no
returnClass is specified, the default value in the transformer will be used.