This object will load objects defined in a file called
registry-bootstrap.properties
into the local registry. This allows modules and transports to make certain objects available by default. The most common use case is for a module or transport to load stateless transformers into the registry. For this file to be located it must be present in the modules META-INF directory under
META-INF/services/org/mule/config/
The format of this file is a simple key / value pair. i.e.
myobject=org.foo.MyObject
Will register an instance of MyObject with a key of 'myobject'. If you don't care about the object name and want to ensure that the ojbect gets a unique name you can use -
object.1=org.foo.MyObject object.2=org.bar.MyObject
or
myFoo=org.foo.MyObject myBar=org.bar.MyObject
Loading transformers has a slightly different notation since you can define the 'returnClass' with optional mime type, and 'name'of the transformer as parameters i.e.
transformer.1=org.mule.transport.jms.transformers.JMSMessageToObject,returnClass=byte[] transformer.2=org.mule.transport.jms.transformers.JMSMessageToObject,returnClass=java.lang.String:text/xml, name=JMSMessageToString transformer.3=org.mule.transport.jms.transformers.JMSMessageToObject,returnClass=java.util.Hashtable)
Note that the key used for transformers must be 'transformer.x' where 'x' is a sequential number. The transformer name will be automatically generated as JMSMessageToXXX where XXX is the return class name i.e. JMSMessageToString unless a 'name' parameter is specified. If no 'returnClass' is specified the default in the transformer will be used.
Note that all objects defined have to have a default constructor. They can implement injection interfaces such as {@link org.mule.api.context.MuleContextAware} and lifecycle interfaces such as {@link org.mule.api.lifecycle.Initialisable}.