Chapter 13. Peer Protocol

Abstract

The peer protocol uses embedded brokers to enable messaging clients to communicate with each other directly.

URI syntax

A peer URI must conform to the following syntax:
peer://PeerGroup/BrokerName?BrokerOptions
Where the group name, PeerGroup, identifies the set of peers that can communicate with each other. That is, a given peer can connect only to the set of peers that specify the same PeerGroup name in their URLs. The BrokerName specifies the broker name for the embedded broker. The broker options, BrokerOptions, are specified in the form of a query list (for example, ?persistent=true).

Broker options

The peer URL supports the broker options described in Table 13.1, “Broker Options”.

Table 13.1. Broker Options

OptionDescription
useJmx If true, enables JMX. Default is true.
persistent If true, the broker uses persistent storage. Default is true.
populateJMSXUserID If true, the broker populates the JMSXUserID message property with the sender’s authenticated username. Default is false.
useShutdownHook If true, the broker installs a shutdown hook, so that it can shut down properly when it receives a JVM kill. Default is true.
brokerName Specifies the broker name. Default is localhost.
deleteAllMessagesOnStartup If true, deletes all the messages in the persistent store as the broker starts up. Default is false.
enableStatistics If true, enables statistics gathering in the broker. Default is true.

Dependencies

The peer protocol uses multicast discovery to locate active peers on the network. In order for this to work, you must ensure that the IP multicast protocol is enabled on your operating system.