The VM Transport
The VM transport allows clients to connect to each other inside the VM without the overhead of the network communication. The connection used is not a socket connection but use direct method invocations which enables a high performance embedded messaging system.
The first client to use the VM connection will boot an embedded broker. Subsequent connections will attach that the same broker. Once all VM connections to the broker have been closed, the embedded broker will automatically shutdown.
Simple Broker Configuration Syntax
This is the normal syntax for a VM connection. It's simple, but provides only a limited amount of configuration of the embedded broker.
If you want to connect to an already instantiated, embedded broker (e.g. as in case the case of Apache ServiceMix), make sure the brokerName used in the vm://brokerName url matches the brokerName of the already running broker.
Advanced Broker Configuration Syntax
This is the advanced syntax for a VM connection. It's allows you configure the broker more extensively using a Broker Configuration URI.
There are more options on optimising the use of the VM transport.
Configuring an Embedded Broker Using an External Config File
To start an embedded broker using the vm transport and configure it using an external configuration file (i.e. activemq.xml), use the following URI: