RoboMQ has rich library of examples code in multiple programming languages supporting AMQP, MQTT and STOMP protocols. The SDK includes example code for multiple Messaging Integration Patterns (MEPs). All examples have implemented automatic reconnecting, which is crucial in real production.
Each of the protocols can be used for variety of messaging integration patterns. MQTT and STOMP, being relatively light weight protocol, are ideal for small footprint devices. AMQP could be the protocol of choice for more capable applications and enterprise systems.
Following use cases using AMQP protocols are documented with code on the RoboMQ GitHub.
One-to-one or direct messaging : point to point message transportation
Broadcast : sending messages to all subscribed consumers
Key based routing : routing messages to consumer based on key based subscription
Filter based routing (Topic) : routing messages based on complex filter rules applied to routing keys
Request and reply : two way request reply communication
MQTT (Message Queues for Telemetry Transport) is lighter weight protocol for device specific use cases supporting pub-sub messaging pattern. MQTT code examples are on RoboMQ GitHub
STOMP (Simple Text Oriented Messaging Protocol) is a HTTP like simple protocol and can be used for variety of use cases with very little programming. STOMP code examples are on RoboMQ GitHub
Supported programming languages
RoboMQ supports majority of the programming languages. For most programming languages, the client side libraries exists for AMPQ, MQTT and STOMP protocols. The SDK on GitHub contains examples in Python, Node.js, PHP, Java, C and C++. We continue to add examples in additional languages.