MOMs are not very well defined and their implementations sometimes tend to touch integration platforms by, for example, including data transformation. Here, we will only care about, and focus on, the messages and the broker that facilitates transportation of these messages.
In Java EE, the Java Messaging Service (JMS) specification (Version 2.0 is currently used in Java EE 7 and WildFly 8.0.0.Final) defines the API for how Java code can interact with the MOM message brokers. In WildFly, the broker component is realized by HornetQ (http://hornetq.jboss.org/), currently in Version 2.4.1.Final.
In JMS, and in general, the message broker supports the following two major communication models, or destination types, as they are also called: